def execute(self, parameter_pool): func_matrix = [] # Loop over default settings for name, _, to_file in CredentialFileParameters: if not parameter_pool.has(name): continue elif ParameterSource.is_ahead(ParameterSource.Terminal,\ parameter_pool.get_source(name)): continue else: func_matrix.append((None, name, to_file)) # Loop over current branch settings cur_branch = parameter_pool.get_value(ParameterName.CurrentBranch)\ if parameter_pool.has(ParameterName.CurrentBranch) else None if cur_branch and ParameterSource.is_ahead( parameter_pool.get_source(ParameterName.Branches), ParameterSource.ConfigFile): branch_setting = parameter_pool.get_value( ParameterName.Branches)[cur_branch] for name, _, to_file in CredentialFileParameters: if not name in branch_setting: continue else: func_matrix.append((cur_branch, name, to_file)) if len(func_matrix) < 1: log.info( 'Skipped updating credential file as credentials are not changed.' ) return location = config_file.default_aws_credential_file_location() # Create directory if needed try: config_file.create_directory( config_file.default_aws_credential_file_path()) config_file.write_aws_credential_file(location, parameter_pool, func_matrix) except BaseException as ex: log.error('Encountered error when creating AWS Credential file at "{0}", because {1}.'.\ format(location, ex)) return else: log.info(WriteAwsCredentialFileOpMessage.Succeed.format(location)) prompt.result( WriteAwsCredentialFileOpMessage.Succeed.format(location)) parameter_pool.put( Parameter(ParameterName.AwsCredentialFile, location, ParameterSource.OperationOutput), True) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): func_matrix = [] # Loop over default settings for name, _, to_file in CredentialFileParameters: if not parameter_pool.has(name): continue elif ParameterSource.is_ahead(ParameterSource.Terminal, parameter_pool.get_source(name)): continue else: func_matrix.append((None, name, to_file)) # Loop over current branch settings cur_branch = ( parameter_pool.get_value(ParameterName.CurrentBranch) if parameter_pool.has(ParameterName.CurrentBranch) else None ) if cur_branch and ParameterSource.is_ahead( parameter_pool.get_source(ParameterName.Branches), ParameterSource.ConfigFile ): branch_setting = parameter_pool.get_value(ParameterName.Branches)[cur_branch] for name, _, to_file in CredentialFileParameters: if not name in branch_setting: continue else: func_matrix.append((cur_branch, name, to_file)) if len(func_matrix) < 1: log.info(u"Skipped updating credential file as credentials are not changed.") return location = config_file.default_aws_credential_file_location() # Create directory if needed try: config_file.create_directory(config_file.default_aws_credential_file_path()) config_file.write_aws_credential_file(location, parameter_pool, func_matrix) except BaseException as ex: log.error( u'Encountered error when creating AWS Credential file at "{0}", because {1}.'.format(location, ex) ) return else: log.info(WriteAwsCredentialFileOpMessage.Succeed.format(location)) prompt.result(WriteAwsCredentialFileOpMessage.Succeed.format(location)) parameter_pool.put( Parameter(ParameterName.AwsCredentialFile, location, ParameterSource.OperationOutput), True ) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): command = parameter_pool.get_value(PName.Command, False) if command == CommandType.DELETE: # Remove RDS master password from crential file credential_file_loc = config_file.default_aws_credential_file_location() # default environment env_name = parameter_pool.get_value(PName.EnvironmentName, False) param_list = [rds_utils.password_key_name(env_name)] # branch environment if parameter_pool.get_value(PName.Branches) is not None: branches = parameter_pool.get_value(PName.Branches, False) for branch in branches.values(): env_name = branch[PName.EnvironmentName] param_list.append(rds_utils.password_key_name(env_name)) # Remove passwords config_file.trim_aws_credential_file(credential_file_loc, param_list, True) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): # Try to retrieve all credential info from specified file file_param = ( parameter_pool.get(ParameterName.AwsCredentialFile) if parameter_pool.has(ParameterName.AwsCredentialFile) else None ) if file_param is not None: self._try_read_credential_file(parameter_pool, file_param.value, file_param.source) else: location = config_file.default_aws_credential_file_location() self._try_read_credential_file(parameter_pool, location, ParameterSource.ConfigFile) osenv_location = os.getenv(AwsCredentialFileDefault.OSVariableName) if osenv_location is not None: self._try_read_credential_file(parameter_pool, osenv_location, ParameterSource.OsEnvironment) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): # Try to retrieve all credential info from specified file file_param = parameter_pool.get(ParameterName.AwsCredentialFile) \ if parameter_pool.has(ParameterName.AwsCredentialFile) else None if file_param is not None: self._try_read_credential_file(parameter_pool, file_param.value, file_param.source) else: location = config_file.default_aws_credential_file_location() self._try_read_credential_file(parameter_pool, location, ParameterSource.ConfigFile) osenv_location = os.getenv(AwsCredentialFileDefault.OSVariableName) if osenv_location is not None: self._try_read_credential_file(parameter_pool, osenv_location, ParameterSource.OsEnvironment) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): eb_client = ElasticBeanstalkClient( parameter_pool.get_value(ParameterName.AwsAccessKeyId), parameter_pool.get_value(ParameterName.AwsSecretAccessKey), parameter_pool.get_value(ParameterName.ServiceEndpoint)) app_name = parameter_pool.get_value(ParameterName.ApplicationName) env_name = parameter_pool.get_value(ParameterName.EnvironmentName) prompt.action(DeleteApplicationOpMessage.Start.format(app_name)) try: response = eb_client.delete_application(app_name, 'true') except OperationInProgressException: log.info('Deleting Application "{0}" already in progress'.format( app_name)) prompt.result( DeleteApplicationOpMessage.AlreadyDelete.format(app_name)) ret_result = OperationResult( self, None, DeleteApplicationOpMessage.AlreadyDelete.format(app_name), None) else: log.info('Received response for DeleteApplication call.') self._log_api_result(self.__class__.__name__, 'DeleteApplication', response.result) prompt.result(DeleteApplicationOpMessage.Succeed.format(app_name)) credential_file_loc = config_file.default_aws_credential_file_location( ) param_list = [rds_utils.password_key_name(env_name)] config_file.trim_aws_credential_file(credential_file_loc, parameter_pool, param_list, True) ret_result = OperationResult( self, response.request_id, DeleteApplicationOpMessage.Succeed.format(app_name), response.result) return ret_result
def execute(self, parameter_pool): func_matrix = [] for param in CredentialFileParameters: if not parameter_pool.has(param[0]): continue elif ParameterSource.is_ahead(ParameterSource.Terminal,\ parameter_pool.get_source(param[0])): continue else: func_matrix.append((param[0], param[2])) if len(func_matrix) < 1: log.info( 'Skipped updating credential file as credentials are not changed.' ) return location = config_file.default_aws_credential_file_location() # Create directory if needed try: config_file.create_directory( config_file.default_aws_credential_file_path()) config_file.write_aws_credential_file(location, parameter_pool, func_matrix) except BaseException as ex: log.error('Encountered error when creating AWS Credential file at "{0}", because {1}.'.\ format(location, ex)) return else: log.info(WriteAwsCredentialFileOpMessage.Succeed.format(location)) prompt.result( WriteAwsCredentialFileOpMessage.Succeed.format(location)) parameter_pool.put( Parameter(ParameterName.AwsCredentialFile, location, ParameterSource.OperationOutput), True) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): func_matrix = [] for param in CredentialFileParameters: if not parameter_pool.has(param[0]): continue elif ParameterSource.is_ahead(ParameterSource.Terminal,\ parameter_pool.get_source(param[0])): continue else: func_matrix.append((param[0], param[2])) if len(func_matrix) < 1: log.info('Skipped updating credential file as credentials are not changed.') return location = config_file.default_aws_credential_file_location() # Create directory if needed try: config_file.create_directory(config_file.default_aws_credential_file_path()) config_file.write_aws_credential_file(location, parameter_pool, func_matrix) except BaseException as ex: log.error('Encountered error when creating AWS Credential file at "{0}", because {1}.'.\ format(location, ex)) return else: log.info(WriteAwsCredentialFileOpMessage.Succeed.format(location)) prompt.result(WriteAwsCredentialFileOpMessage.Succeed.format(location)) parameter_pool.put(Parameter(ParameterName.AwsCredentialFile, location, ParameterSource.OperationOutput), True) ret_result = OperationResult(self, None, None, None) return ret_result
def execute(self, parameter_pool): eb_client = ElasticBeanstalkClient(parameter_pool.get_value(ParameterName.AwsAccessKeyId), parameter_pool.get_value(ParameterName.AwsSecretAccessKey), parameter_pool.get_value(ParameterName.ServiceEndpoint)) app_name = parameter_pool.get_value(ParameterName.ApplicationName) env_name = parameter_pool.get_value(ParameterName.EnvironmentName) prompt.action(DeleteApplicationOpMessage.Start.format(app_name)) try: response = eb_client.delete_application(app_name, 'true') except OperationInProgressException: log.info('Deleting Application "{0}" already in progress'.format(app_name)) prompt.result(DeleteApplicationOpMessage.AlreadyDelete.format(app_name)) ret_result = OperationResult(self, None, DeleteApplicationOpMessage.AlreadyDelete.format(app_name), None) else: log.info('Received response for DeleteApplication call.') self._log_api_result(self.__class__.__name__, 'DeleteApplication', response.result) prompt.result(DeleteApplicationOpMessage.Succeed.format(app_name)) credential_file_loc = config_file.default_aws_credential_file_location() param_list = [rds_utils.password_key_name(env_name)] config_file.trim_aws_credential_file(credential_file_loc, parameter_pool, param_list, True) ret_result = OperationResult(self, response.request_id, DeleteApplicationOpMessage.Succeed.format(app_name), response.result) return ret_result