Пример #1
0
    def all_platforms(self):
        solution_stacks = platformops.get_all_platforms()

        if self.app.pargs.verbose:
            platform_arns = platformops.list_custom_platform_versions()
            versions = [s.name for s in solution_stacks]
            versions.extend(platform_arns)
        else:
            platform_arns = platformops.list_custom_platform_versions(platform_version='latest')
            versions = sorted(set([s.pythonify() for s in solution_stacks]))
            versions.extend([PlatformVersion.get_platform_name(arn) for arn in platform_arns])

        return versions
Пример #2
0
def get_solution_stack_from_customer(module_name=None):
	"""
	Method prompts customer for a platform name, and if applicable, a platform version name

	:param module_name: An `module_name` to choose a platform corresponding to a
		particular module in the EB application. This is applicable if the directory
		is being `eb init`-ed with the `--modules` argument.

	:return: A SolutionStack object representing the the customers choice of platform
	"""
	solution_stacks = elasticbeanstalk.get_available_solution_stacks()
	solution_stacks_grouped_by_language_name = SolutionStack.group_solution_stacks_by_language_name(solution_stacks)
	language_names_to_display = [solution_stack['LanguageName'] for solution_stack in solution_stacks_grouped_by_language_name]

	custom_platforms = platformops.list_custom_platform_versions()

	if custom_platforms:
		language_names_to_display.append(CUSTOM_PLATFORM_OPTION)

	chosen_language_name = prompt_for_language_name(language_names_to_display, module_name)

	if chosen_language_name == CUSTOM_PLATFORM_OPTION:
		return platformops.get_custom_platform_from_customer(custom_platforms)

	return SolutionStack(resolve_language_version(chosen_language_name, solution_stacks))
Пример #3
0
    def cleanup_platforms(self):
        force = self.app.pargs.force
        all_platforms = self.app.pargs.all_platforms

        if all_platforms:
            platform_name = None
        else:
            platform_name = fileoperations.get_platform_name()

        # We clean up all failed platform versions
        failed_versions = sorted(
            platformops.list_custom_platform_versions(
                platform_name=platform_name,
                status='Failed',
            )
        )

        if failed_versions:
            if not force:
                if not platform_name:
                    io.echo(prompts['cleanupplatform.confirm'].replace('{platform-name}', 'All Platforms'))

                    for failed_version in failed_versions:
                        io.echo(failed_version)

                    io.validate_action(prompts['cleanupplatform.validate-all'], 'all')
                else:
                    io.echo(prompts['cleanupplatform.confirm'].replace('{platform-name}', platform_name))
                    io.validate_action(prompts['cleanupplatform.validate'], platform_name)

            for failed_version in failed_versions:
                platformops.delete_platform_version(failed_version, force=True)
Пример #4
0
    def custom_platforms(self):
        platform_name = None if self.app.pargs.all_platforms else fileoperations.get_platform_name(
        )

        return platformops.list_custom_platform_versions(
            platform_name=platform_name,
            status=self.app.pargs.status,
            show_status=True)
Пример #5
0
    def do_command(self):
        verbose = self.app.pargs.verbose
        solution_stacks = platformops.get_all_platforms()

        if verbose:
            platform_arns = platformops.list_custom_platform_versions()
            lst = [s.name for s in solution_stacks]
            lst.extend(platform_arns)
        else:
            platform_arns = platformops.list_custom_platform_versions(platform_version='latest')
            lst = sorted(set([s.pythonify() for s in solution_stacks]))
            lst.extend([PlatformVersion.get_platform_name(arn) for arn in platform_arns])

        if len(lst) > 20:
            io.echo_with_pager(os.linesep.join(lst))
        else:
            io.echo(*lst, sep=os.linesep)
Пример #6
0
    def do_command(self):
        verbose = self.app.pargs.verbose
        solution_stacks = platformops.get_all_platforms()

        if verbose:
            platform_arns = platformops.list_custom_platform_versions()
            lst = [s.name for s in solution_stacks]
            lst.extend(platform_arns)
        else:
            platform_arns = platformops.list_custom_platform_versions(
                platform_version='latest')
            lst = sorted(set([s.pythonify() for s in solution_stacks]))
            lst.extend([
                PlatformVersion.get_platform_name(arn) for arn in platform_arns
            ])

        if len(lst) > 20:
            io.echo_with_pager(os.linesep.join(lst))
        else:
            io.echo(*lst, sep=os.linesep)
Пример #7
0
    def do_command(self):
        all_platforms = self.app.pargs.all_platforms
        status = self.app.pargs.status

        if not all_platforms:
            platform_name = fileoperations.get_platform_name()
        else:
            platform_name = None

        versions = platformops.list_custom_platform_versions(
            platform_name=platform_name, status=status, show_status=True)

        if len(versions) > 20:
            io.echo_with_pager(os.linesep.join(versions))
        else:
            io.echo(*versions, sep=os.linesep)
Пример #8
0
    def do_command(self):
        all_platforms = self.app.pargs.all_platforms
        status = self.app.pargs.status

        if not all_platforms:
            platform_name = fileoperations.get_platform_name()
        else:
            platform_name = None

        versions = platformops.list_custom_platform_versions(
            platform_name=platform_name,
            status=status,
            show_status=True
        )

        if len(versions) > 20:
            io.echo_with_pager(os.linesep.join(versions))
        else:
            io.echo(*versions, sep=os.linesep)