def test_get_platform_version(self): self.create_config_file() fileoperations.write_config_setting('global', 'platform_version', 'my-platform-version') self.assertEqual('my-platform-version', fileoperations.get_platform_version())
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) _, platform_name, platform_version = PlatformVersion.arn_to_platform(arn) platform = describe_custom_platform_version( platform_arn=arn, owner=Constants.OWNED_BY_SELF, platform_name=platform_name, platform_version=platform_version, ) if not platform: raise InvalidPlatformVersionError( strings['exit.nosuchplatformversion']) created = platform.get('DateCreated') description = platform.get('Description') maintainer = platform.get('Maintainer') status = platform.get('PlatformStatus') updated = platform.get('DateUpdated') framework_name = platform.get('FrameworkName') framework_version = platform.get('FrameworkVersion') os_name = platform.get('OperatingSystemName') os_version = platform.get('OperatingSystemVersion') language_name = platform.get('ProgrammingLanguageName') language_version = platform.get('ProgrammingLanguageVersion') supported_tiers = platform.get('SupportedTierList') io.echo('Platform: ', arn) io.echo('Name: ', platform_name) io.echo('Version: ', version) io.echo('Maintainer: ', maintainer) if maintainer else None io.echo('Description: ', description) if description else None io.echo('Framework: ', framework_name) if framework_name else None io.echo('Framework: ', framework_name) if framework_name else None io.echo('Framework Version: ', framework_version) if framework_version else None io.echo('Operating System: ', os_name) if os_name else None io.echo('Operating System Version: ', os_version) if os_version else None io.echo('Programming Language: ', language_name) if language_name else None io.echo('Programming Language Version: ', language_version) if language_version else None io.echo('Supported Tiers: ', supported_tiers) if supported_tiers else None io.echo('Status: ', status) io.echo('Created: ', created) io.echo('Updated: ', updated)
def get_platform_name_and_version(self): # Get app name from command line arguments platform_name = self.app.pargs.platform_name interactive = self.app.pargs.interactive version = None # Get app name from config file, if exists if not platform_name: try: platform_name = fileoperations.get_platform_name(default=None) version = fileoperations.get_platform_version() except NotInitializedError: platform_name = None # Ask for app name if not platform_name or interactive: platform_name, version = platformops.get_platform_name_and_version_interactive( ) if sys.version_info[0] < 3 and isinstance(platform_name, unicode): try: platform_name.encode('utf8') platform_name = platform_name.encode('utf8') except UnicodeDecodeError: pass return platform_name, version
def show_platform_events(follow, version): platform_name = fileoperations.get_platform_name() if version is None: version = fileoperations.get_platform_version() if version is None: raise InvalidPlatformVersionError( strings['exit.nosuchplatformversion']) platform = _get_platform(platform_name, version, owner=Constants.OWNED_BY_SELF) if platform is None: raise InvalidPlatformVersionError( strings['exit.nosuchplatformversion']) arn = platform['PlatformArn'] else: arn = _version_to_arn(version) if arn is None: raise InvalidPlatformVersionError( strings['exit.nosuchplatformversion']) print_events(follow=follow, platform_arn=arn, app_name=None, env_name=None)
def do_command(self): version = self.app.pargs.version stream = self.app.pargs.stream if version is None: platform_name = fileoperations.get_platform_name() version = fileoperations.get_platform_version() else: platform_name = fileoperations.get_platform_name() if VALID_PLATFORM_VERSION_FORMAT.match(version): pass elif PlatformVersion.is_valid_arn(version): _, platform_name, version = PlatformVersion.arn_to_platform(version) elif VALID_PLATFORM_SHORT_FORMAT.match(version): match = VALID_PLATFORM_SHORT_FORMAT.match(version) platform_name, version = match.group(1, 2) else: raise InvalidPlatformVersionError(strings['exit.invalidversion']) io.echo('Retrieving logs...') if stream: try: logsops.stream_platform_logs( platform_name, version, log_name="%s/%s" % (platform_name, version), formatter=platformops.PackerStreamFormatter()) except NotFoundError: raise NotFoundError('Unable to find logs in CloudWatch.') else: paginate_cloudwatch_logs(platform_name, version)
def get_platform_name_and_version(self): # Get app name from command line arguments platform_name = self.app.pargs.platform_name interactive = self.app.pargs.interactive version = None # Get app name from config file, if exists if not platform_name: try: platform_name = fileoperations.get_platform_name(default=None) version = fileoperations.get_platform_version() except NotInitializedError: platform_name = None # Ask for app name if not platform_name or interactive: platform_name, version = platformops.get_platform_name_and_version_interactive() if sys.version_info[0] < 3 and isinstance(platform_name, unicode): try: platform_name.encode('utf8') platform_name = platform_name.encode('utf8') except UnicodeDecodeError: pass return platform_name, version
def do_command(self): version = self.app.pargs.version stream = self.app.pargs.stream if version is None: platform_name = fileoperations.get_platform_name() version = fileoperations.get_platform_version() else: platform_name = fileoperations.get_platform_name() if VALID_PLATFORM_VERSION_FORMAT.match(version): pass elif PlatformVersion.is_valid_arn(version): _, platform_name, version = PlatformVersion.arn_to_platform(version) elif VALID_PLATFORM_SHORT_FORMAT.match(version): match = VALID_PLATFORM_SHORT_FORMAT.match(version) platform_name, version = match.group(1, 2) else: raise InvalidPlatformVersionError(strings['exit.invalidversion']) io.echo('Retrieving logs...') if stream: try: logsops.stream_platform_logs( platform_name, version, log_name="%s/%s" % (platform_name, version), # Packer is our only builder type at this point formatter=platformops.PackerStreamFormatter()) except NotFoundError: raise NotFoundError('Unable to find logs in CloudWatch.') else: # print with paginator paginate_cloudwatch_logs(platform_name, version)
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) _, platform_name, platform_version = PlatformVersion.arn_to_platform(arn) platform = describe_custom_platform_version( platform_arn=arn, owner=Constants.OWNED_BY_SELF, platform_name=platform_name, platform_version=platform_version, ) if not platform: raise InvalidPlatformVersionError(strings['exit.nosuchplatformversion']) created = platform.get('DateCreated') description = platform.get('Description') maintainer = platform.get('Maintainer') status = platform.get('PlatformStatus') updated = platform.get('DateUpdated') framework_name = platform.get('FrameworkName') framework_version = platform.get('FrameworkVersion') os_name = platform.get('OperatingSystemName') os_version = platform.get('OperatingSystemVersion') language_name = platform.get('ProgrammingLanguageName') language_version = platform.get('ProgrammingLanguageVersion') supported_tiers = platform.get('SupportedTierList') io.echo('Platform: ', arn) io.echo('Name: ', platform_name) io.echo('Version: ', version) io.echo('Maintainer: ', maintainer) if maintainer else None io.echo('Description: ', description) if description else None io.echo('Framework: ', framework_name) if framework_name else None io.echo('Framework: ', framework_name) if framework_name else None io.echo('Framework Version: ', framework_version) if framework_version else None io.echo('Operating System: ', os_name) if os_name else None io.echo('Operating System Version: ', os_version) if os_version else None io.echo('Programming Language: ', language_name) if language_name else None io.echo('Programming Language Version: ', language_version) if language_version else None io.echo('Supported Tiers: ', supported_tiers) if supported_tiers else None io.echo('Status: ', status) io.echo('Created: ', created) io.echo('Updated: ', updated)
def get_platform_name_and_version(platform_name): version = None if not platform_name: try: platform_name = fileoperations.get_platform_name(default=None) version = fileoperations.get_platform_version() except NotInitializedError: platform_name, version = platformops.get_platform_name_and_version_interactive() if sys.version_info[0] < 3 and isinstance(platform_name, unicode): try: platform_name.encode('utf8') platform_name = platform_name.encode('utf8') except UnicodeDecodeError: pass return platform_name, version
def show_platform_events(follow, version): platform_name = fileoperations.get_platform_name() if version is None: version = fileoperations.get_platform_version() if version is None: raise InvalidPlatformVersionError(strings['exit.nosuchplatformversion']) platform = describe_custom_platform_version( platform_name=platform_name, platform_version=version, owner=Constants.OWNED_BY_SELF ) if platform is None: raise InvalidPlatformVersionError(strings['exit.nosuchplatformversion']) arn = platform['PlatformArn'] else: arn = _version_to_arn(version) print_events(follow=follow, platform_arn=arn, app_name=None, env_name=None)
def test_update_platform_version(self): self.create_config_file() fileoperations.update_platform_version('my-platform-version') self.assertEqual('my-platform-version', fileoperations.get_platform_version())
def test_get_platform_version__directory_not_initialized(self): self.assertIsNone(fileoperations.get_platform_version())
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)