Esempio n. 1
0
    def test_get_platform_version__returns_none_when_arn_is_not_found(self):
        arn = 'node.js'

        with self.assertRaises(
                PlatformVersion.UnableToParseArnException) as context_manager:
            PlatformVersion.get_platform_version(arn)

        self.assertEqual("Unable to parse arn 'node.js'",
                         context_manager.exception.message)
Esempio n. 2
0
def __formatted_platform_descriptions(platforms_list, show_status):
    platform_tuples = []
    for platform in platforms_list:
        platform_tuples.append(
            {
                'PlatformArn': platform['PlatformArn'],
                'PlatformStatus': platform['PlatformStatus']
            }
        )

    # Sort by name, then by version
    platform_tuples.sort(
        key=lambda platform_tuple: (
            PlatformVersion.get_platform_name(platform_tuple['PlatformArn']),
            Version(PlatformVersion.get_platform_version(platform_tuple['PlatformArn']))
        ),
        reverse=True
    )

    formatted_platform_descriptions = []
    for index, platform_tuple in enumerate(platform_tuples):
        if show_status:
            formatted_platform_description = '{platform_arn}  Status: {platform_status}'.format(
                platform_arn=platform_tuple['PlatformArn'],
                platform_status=platform_tuple['PlatformStatus']
            )
        else:
            formatted_platform_description = platform_tuple['PlatformArn']

        formatted_platform_descriptions.append(formatted_platform_description)

    return formatted_platform_descriptions
Esempio n. 3
0
def __formatted_platform_descriptions(platforms_list, show_status):
    platform_tuples = []
    for platform in platforms_list:
        platform_tuples.append({
            'PlatformArn': platform['PlatformArn'],
            'PlatformStatus': platform['PlatformStatus']
        })

    # Sort by name, then by version
    platform_tuples.sort(
        key=lambda platform_tuple:
        (PlatformVersion.get_platform_name(platform_tuple['PlatformArn']),
         Version(
             PlatformVersion.get_platform_version(platform_tuple['PlatformArn']
                                                  ))),
        reverse=True)

    formatted_platform_descriptions = []
    for index, platform_tuple in enumerate(platform_tuples):
        if show_status:
            formatted_platform_description = '{platform_arn}  Status: {platform_status}'.format(
                platform_arn=platform_tuple['PlatformArn'],
                platform_status=platform_tuple['PlatformStatus'])
        else:
            formatted_platform_description = platform_tuple['PlatformArn']

        formatted_platform_descriptions.append(formatted_platform_description)

    return formatted_platform_descriptions
Esempio n. 4
0
def generate_version_to_arn_mappings(custom_platforms, specified_platform_name):
    version_to_arn_mappings = {}
    for custom_platform in custom_platforms:
        custom_platform_name = PlatformVersion.get_platform_name(custom_platform)
        if custom_platform_name == specified_platform_name:
            version_to_arn_mappings[PlatformVersion.get_platform_version(custom_platform)] = custom_platform

    return version_to_arn_mappings
Esempio n. 5
0
def generate_version_to_arn_mappings(custom_platforms, specified_platform_name):
    version_to_arn_mappings = {}
    for custom_platform in custom_platforms:
        custom_platform_name = PlatformVersion.get_platform_name(custom_platform)
        if custom_platform_name == specified_platform_name:
            version_to_arn_mappings[PlatformVersion.get_platform_version(custom_platform)] = custom_platform

    return version_to_arn_mappings
Esempio n. 6
0
def list_platform_versions_sorted_by_name(platform_name=None,
                                          status=None,
                                          owner=None,
                                          show_status=False,
                                          excludeEBOwned=True):
    platform_list = elasticbeanstalk.list_platform_versions(
        platform_name=platform_name, status=status, owner=owner)
    platform_tuples = list()
    platforms = list()
    arn_index = 0
    status_index = 1

    for platform in platform_list:
        arn = platform['PlatformArn']
        owner = platform['PlatformOwner']

        if excludeEBOwned and owner == Constants.AWS_ELASTIC_BEANSTALK_ACCOUNT:
            continue

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

        platform_tuples.append((arn, platform['PlatformStatus']))

    # Sort by name, then by version
    platform_tuples.sort(
        key=lambda platform:
        (PlatformVersion.get_platform_name(platform[arn_index]),
         Version(PlatformVersion.get_platform_version(platform[arn_index]))),
        reverse=True)

    for platform in platform_tuples:
        if show_status:
            platforms.append("%s  Status: %s" %
                             (platform[arn_index], platform[status_index]))
        else:
            platforms.append(platform[arn_index])

    return platforms
Esempio n. 7
0
    def test_get_platform_version__custom_platform_arn(self):
        arn = 'arn:aws:elasticbeanstalk:us-east-1:00000000000:platform/Name/0.0.0'

        self.assertEqual('0.0.0', PlatformVersion.get_platform_version(arn))
Esempio n. 8
0
    def test_get_platform_version__managed_platform_arn(self):
        arn = 'arn:aws:elasticbeanstalk:us-east-1::platform/Name/1.0.0'

        self.assertEqual('1.0.0', PlatformVersion.get_platform_version(arn))