Beispiel #1
0
def list_platform_versions(
        filters,
        platform_name=None,
        platform_version=None,
        show_status=False,
        status=None
):
    if platform_name:
        filters.append(
            api_filters.PlatformNameFilter(values=[platform_name]).json()
        )

    if platform_version:
        filters.append(
            api_filters.PlatformVersionFilter(values=[platform_version]).json()
        )

    if status:
        filters.append(
            api_filters.PlatformStatusFilter(values=[status]).json()
        )

    platforms_list = elasticbeanstalk.list_platform_versions(filters=filters)

    return __formatted_platform_descriptions(platforms_list, show_status)
def list_platform_versions(
        filters,
        platform_name=None,
        platform_version=None,
        show_status=False,
        status=None
):
    if platform_name:
        filters.append(
            api_filters.PlatformNameFilter(values=[platform_name]).json()
        )

    if platform_version:
        filters.append(
            api_filters.PlatformVersionFilter(values=[platform_version]).json()
        )

    if status:
        filters.append(
            api_filters.PlatformStatusFilter(values=[status]).json()
        )

    platforms_list = elasticbeanstalk.list_platform_versions(filters=filters)

    return __formatted_platform_descriptions(platforms_list, show_status)
def _get_platform(platform_name, platform_version, owner=None):
    platforms = elasticbeanstalk.list_platform_versions(
        platform_name=platform_name,
        platform_version=platform_version,
        owner=owner)

    for platform in platforms:
        arn = platform['PlatformArn']
        return elasticbeanstalk.describe_platform_version(
            arn)['PlatformDescription']

    return None
def _alert_custom_platform_version_status(platform_version, alert_message):
    filters = [{
        'Operator': '=',
        'Type': 'PlatformName',
        'Values': [platform_version.platform_name]
    }]
    siblings = elasticbeanstalk.list_platform_versions(filters=filters)
    comparable_version = utils.parse_version(platform_version.platform_version)
    for sibling in siblings:
        if utils.parse_version(
                sibling['PlatformVersion']) > comparable_version:
            io.log_alert(alert_message + '\n')
            break
def get_custom_platforms(platform_name=None, platform_version=None):
    platform_list = elasticbeanstalk.list_platform_versions(
        platform_name=platform_name, platform_version=platform_version)
    platforms = list()

    for platform in platform_list:
        # Ignore EB owned plaforms
        if platform[
                'PlatformOwner'] == Constants.AWS_ELASTIC_BEANSTALK_ACCOUNT:
            continue

        platforms.append(platform['PlatformArn'])

    return platforms
def get_platforms(platform_name=None,
                  ignored_states=None,
                  owner=None,
                  platform_version=None):
    platform_list = elasticbeanstalk.list_platform_versions(
        platform_name=platform_name,
        owner=owner,
        platform_version=platform_version)
    platforms = dict()

    for platform in platform_list:
        if ignored_states and platform['PlatformStatus'] in ignored_states:
            continue

        _, platform_name, platform_version = PlatformVersion.arn_to_platform(
            platform['PlatformArn'])
        platforms[platform_name] = platform_version

    return platforms
def get_platform_versions_for_branch(branch_name, recommended_only=False):
    filters = [
        {
            'Type': 'PlatformBranchName',
            'Operator': '=',
            'Values': [branch_name],
        }
    ]

    if recommended_only:
        filters.append({
            'Type': 'PlatformLifecycleState',
            'Operator': '=',
            'Values': ['Recommended'],
        })

    platform_version_summaries = elasticbeanstalk.list_platform_versions(
        filters=filters)

    return [
        PlatformVersion.from_platform_version_summary(summary)
        for summary in platform_version_summaries]
def get_version_status(version):
    platform_name = fileoperations.get_platform_name()

    if version is None:
        version = fileoperations.get_platform_version()

    if version is None:
        version = _get_latest_version(platform_name)
        fileoperations.update_platform_version(version)

    if version is None:
        raise InvalidPlatformVersionError(
            strings['exit.nosuchplatformversion'])

    arn = _version_to_arn(version)

    if arn is None:
        raise InvalidPlatformVersionError(
            strings['exit.nosuchplatformversion'])

    _, platform_name, platform_version = PlatformVersion.arn_to_platform(arn)

    platform = _get_platform(platform_name,
                             platform_version,
                             owner=Constants.OWNED_BY_SELF)
    platform_status = elasticbeanstalk.list_platform_versions(
        platform_name=platform_name,
        platform_version=platform_version,
        owner=Constants.OWNED_BY_SELF)

    if platform is None:
        raise InvalidPlatformVersionError(
            strings['exit.nosuchplatformversion'])

    try:
        description = platform['Description']
    except KeyError:
        description = None

    status = platform['PlatformStatus']
    created = platform['DateCreated']
    updated = platform['DateUpdated']

    io.echo('Platform: ', arn)
    io.echo('Name: ', platform_name)
    io.echo('Version: ', version)

    # TODO: Cleanup this odd pattern used here.
    try:
        io.echo('Maintainer: ', platform['Maintainer'])
    except KeyError:
        pass

    if description:
        io.echo('Description: ', description)

    if platform_status:
        platform_status = platform_status[0]

        try:
            io.echo('Framework: ', platform_status['FrameworkName'])
        except KeyError:
            pass

        try:
            io.echo('Framework Version: ', platform_status['FrameworkVersion'])
        except KeyError:
            pass

        try:
            io.echo('Operating System: ',
                    platform_status['OperatingSystemName'])
        except KeyError:
            pass

        try:
            io.echo('Operating System Version: ',
                    platform_status['OperatingSystemVersion'])
        except KeyError:
            pass

        try:
            io.echo('Programming Language: ',
                    platform_status['ProgrammingLanguageName'])
        except KeyError:
            pass

        try:
            io.echo('Programming Language Version: ',
                    platform_status['ProgrammingLanguageVersion'])
        except KeyError:
            pass

        try:
            io.echo('Supported Tiers: ',
                    str.join(',', platform_status['SupportedTierList']))
        except KeyError:
            pass

    io.echo('Status: ', status)
    io.echo('Created: ', created)
    io.echo('Updated: ', updated)
Beispiel #9
0
 def invoke_api():
     elasticbeanstalk.list_platform_versions()
Beispiel #10
0
 def invoke_api():
     try:
         elasticbeanstalk.list_platform_versions()
     except Exception:
         pass