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)
def invoke_api(): elasticbeanstalk.list_platform_versions()
def invoke_api(): try: elasticbeanstalk.list_platform_versions() except Exception: pass