Exemplo n.º 1
0
def alert_platform_status(
        platform_version,
        platform_old_alert=alerts['platform.old'],
        platform_not_recommended_alert=alerts['platform.notrecommended'],
        branch_deprecated_alert=alerts['platformbranch.deprecated'],
        branch_retired_alert=alerts['platformbranch.retired']):
    """
    Logs an alert for a platform version status and it's platform branch's
    status if either are out-of-date or reaching end-of-life.
    """
    if not isinstance(platform_version, PlatformVersion):
        platform_version = PlatformVersion(platform_arn=platform_version)

    platform_version.hydrate(elasticbeanstalk.describe_platform_version)

    if platform_version.platform_branch_name:
        branch = platform_version.platform_branch_name

        alert_platform_branch_status(
            branch,
            branch_deprecated_alert=branch_deprecated_alert,
            branch_retired_alert=branch_retired_alert,
        )

    alert_platform_version_status(
        platform_version,
        platform_old_alert=platform_old_alert,
        platform_not_recommended_alert=platform_not_recommended_alert,
    )
Exemplo n.º 2
0
    def test_hydrate(self):
        platform_version_description = self.platform_version_description
        platform_arn = platform_version_description['PlatformArn']
        describe_platform_version = mock.Mock(
            return_value=platform_version_description)

        platform_version = PlatformVersion(platform_arn)
        platform_version.hydrate(describe_platform_version)

        self.assertEqual(platform_version_description['CustomAmiList'],
                         platform_version.custom_ami_list)
        self.assertEqual(platform_version_description['DateCreated'],
                         platform_version.date_created)
        self.assertEqual(platform_version_description['DateUpdated'],
                         platform_version.date_updated)
        self.assertEqual(platform_version_description['Maintainer'],
                         platform_version.maintainer)
        self.assertEqual(platform_version_description['OperatingSystemName'],
                         platform_version.operating_system_name)
        self.assertEqual(
            platform_version_description['OperatingSystemVersion'],
            platform_version.operating_system_version)
        self.assertEqual(platform_version_description['PlatformArn'],
                         platform_version.platform_arn)
        self.assertEqual(
            platform_version_description['PlatformBranchLifecycleState'],
            platform_version.platform_branch_lifecycle_state)
        self.assertEqual(platform_version_description['PlatformBranchName'],
                         platform_version.platform_branch_name)
        self.assertEqual(platform_version_description['PlatformCategory'],
                         platform_version.platform_category)
        self.assertEqual(
            platform_version_description['PlatformLifecycleState'],
            platform_version.platform_lifecycle_state)
        self.assertEqual(platform_version_description['PlatformName'],
                         platform_version.platform_name)
        self.assertEqual(platform_version_description['PlatformOwner'],
                         platform_version.platform_owner)
        self.assertEqual(platform_version_description['PlatformStatus'],
                         platform_version.platform_status)
        self.assertEqual(platform_version_description['PlatformVersion'],
                         platform_version.platform_version)
        self.assertEqual(platform_version_description['SolutionStackName'],
                         platform_version.solution_stack_name)
        self.assertEqual(platform_version_description['SupportedAddonList'],
                         platform_version.supported_addon_list)
        self.assertEqual(platform_version_description['SupportedTierList'],
                         platform_version.supported_tier_list)
Exemplo n.º 3
0
def alert_platform_version_status(
    platform_version,
    platform_old_alert=alerts['platform.old'],
    platform_not_recommended_alert=alerts['platform.notrecommended'],
):
    if not isinstance(platform_version, PlatformVersion):
        platform_version = PlatformVersion(platform_arn=platform_version)

    platform_version.hydrate(elasticbeanstalk.describe_platform_version)

    if platform_version.platform_branch_name:
        _alert_eb_managed_platform_version_status(
            platform_version,
            platform_not_recommended_alert,
            platform_old_alert,
        )
    elif PlatformVersion.is_custom_platform_arn(platform_version.platform_arn):
        _alert_custom_platform_version_status(platform_version,
                                              platform_old_alert)