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, )
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)
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)