def load_aws_account_id(self): """Find AWS Account ID from the credentials given""" aws_account_id = get_user_account_id(Settings.AWS_ACCESS_KEY, Settings.AWS_SECRET_KEY, Settings.AWS_SESSION_TOKEN) Settings.set('AWS_ACCOUNT_ID', aws_account_id) self.aws_account_id = aws_account_id
def read_aws_region(self): settings_region = getattr(Settings, 'AWS_REGION', None) if settings_region is None or settings_region == '': self.aws_region = input("\n\tPlease Enter AWS Region: ") Settings.set('AWS_REGION', self.aws_region) else: self.aws_region = settings_region
def __init__(self, args): Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) args.append((K.CATEGORY_FIELD_NAME, "deploy")) args.append((K.CATEGORY_FIELD_NAME, "upload_tf")) self.destroy_resource_tags_list = [ v for (k, v) in args if k == self.category_field_name ] args.append((K.CATEGORY_FIELD_NAME, "deploy")) args.append((K.CATEGORY_FIELD_NAME, "roles")) args.append((K.CATEGORY_FIELD_NAME, "all_read_role")) args.append((K.CATEGORY_FIELD_NAME, "batch-ecr")) args.append((K.CATEGORY_FIELD_NAME, "batch-job")) args.append((K.CATEGORY_FIELD_NAME, "submit-job")) args.append((K.CATEGORY_FIELD_NAME, "rule-engine-job")) args.append((K.CATEGORY_FIELD_NAME, "upload_tf")) self.reinstall_resource_tags_list = [ v for (k, v) in args if k == self.category_field_name ] self.need_complete_install = self._need_complete_installation() self.dry_run = True if any([x[1] for x in args if x[0] == "dry-run"]) else self.dry_run self.silent_install = True if any( [x[1] for x in args if x[0] == "silent"]) else self.silent_install
def load_aws_account_details(self): """Find AWS Account ID from the credentials given""" caller_identity = get_aws_caller_identity(self.AWS_AUTH_CRED) Settings.set('AWS_ACCOUNT_ID', caller_identity.get('Account')) Settings.set('CALLER_ARN', caller_identity.get('Arn')) self.AWS_ACCOUNT_ID = caller_identity.get('Account') self.CALLER_ARN = caller_identity.get('Arn')
def read_aws_region(self): settings_region = getattr(Settings, 'AWS_REGION', None) if settings_region is None or settings_region == '': self.aws_region = input("\n\t%s" % K.AWS_REGION_INPUT) Settings.set('AWS_REGION', self.aws_region) else: self.aws_region = settings_region
def __init__(self, args): args.append((K.CATEGORY_FIELD_NAME, "deploy")) args.append((K.CATEGORY_FIELD_NAME, "roles")) self.need_complete_install = self._need_complete_installation() Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) super().__init__(args)
def read_aws_region(self): """Read AWS region from user if it is not already set in settings""" settings_region = getattr(Settings, 'AWS_REGION', None) if settings_region is None or settings_region == '': self.aws_region = input("\n\t%s" % K.AWS_REGION_INPUT) Settings.set('AWS_REGION', self.aws_region) else: self.aws_region = settings_region
def read_aws_access_key(self): settings_access_key = getattr(Settings, 'AWS_ACCESS_KEY', None) if settings_access_key is None or settings_access_key == '': self.aws_access_key = input("\n\t%s" % K.AWS_ACCESS_KEY_INPUT) if len(self.aws_access_key) < 20: self.show_step_inner_error("\n\t" + K.INVALID_KEY) raise Exception(K.INVALID_KEY) Settings.set('AWS_ACCESS_KEY', self.aws_access_key) else: self.aws_access_key = settings_access_key
def read_aws_access_key(self): settings_access_key = getattr(Settings, 'AWS_ACCESS_KEY', None) if settings_access_key is None or settings_access_key == '': self.aws_access_key = input("\n\tPlease Enter AWS Access Key: ") if len(self.aws_access_key) < 20: self.show_step_inner_error("\n\t" + K.INVALID_KEY) raise Exception("Invalid AWS Access Key") Settings.set('AWS_ACCESS_KEY', self.aws_access_key) else: self.aws_access_key = settings_access_key
def __init__(self, args): # args.append((K.CATEGORY_FIELD_NAME, "datastore")) # tf_outputs = PyTerraform.load_terraform_output_from_json_file() # role_file = os.path.join(Settings.TERRAFORM_DIR, "iam_all_read_role_AllReadRole.tf") # if not tf_outputs.get(AllReadRole.get_resource_id(), False): # args.append((K.CATEGORY_FIELD_NAME, "all_read_role")) # args.append((K.CATEGORY_FIELD_NAME, "ecs_role")) Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) super().__init__(args)
def __init__(self, args): args.append((K.CATEGORY_FIELD_NAME, "deploy")) args.append((K.CATEGORY_FIELD_NAME, "batch-ecr")) args.append((K.CATEGORY_FIELD_NAME, "batch-job")) args.append((K.CATEGORY_FIELD_NAME, "submit-job")) args.append((K.CATEGORY_FIELD_NAME, "rule-engine-job")) args.append((K.CATEGORY_FIELD_NAME, "upload_tf")) Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) super().__init__(args)
def __init__(self, args): args.append((K.CATEGORY_FIELD_NAME, "deploy")) args.append((K.CATEGORY_FIELD_NAME, "roles")) args.append((K.CATEGORY_FIELD_NAME, "batch-ecr")) args.append((K.CATEGORY_FIELD_NAME, "batch-job")) args.append((K.CATEGORY_FIELD_NAME, "submit-job")) args.append((K.CATEGORY_FIELD_NAME, "rule-engine-job")) args.append((K.CATEGORY_FIELD_NAME, "upload_tf")) self.need_complete_install = self._need_complete_installation() Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) super().__init__(args)
def run(self, sys_args): self.show_loading_messsage() Settings.set('running_command', ' '.join(sys_args)) try: SysLog().debug_started(Settings.running_command) if self.do_pre_requisite_check(): command_class_instance = self.get_command_class_instance( sys_args) # Get the command list and optional commands self.execute(command_class_instance) except Exception as e: self.show_step_inner_error( "Error occured, please check error log for more details") SysLog().write_error_log(str(e))
def read_aws_secret_key(self): """Read AWS secret key from user if it is not already set in settings""" settings_secret_key = getattr(Settings, 'AWS_SECRET_KEY', None) if settings_secret_key is None or settings_secret_key == '': self.aws_secret_key = input("\n\t%s" % K.AWS_SECRET_KEY_INPUT) if len(self.aws_secret_key) < 25: self.show_step_inner_error("\n\t" + K.INVALID_KEY) raise Exception(K.INVALID_KEY) Settings.set('AWS_SECRET_KEY', self.aws_secret_key) else: self.aws_secret_key = settings_secret_key
def read_aws_session_token(self): """Read AWS session token from user if it is not already set in settings""" settings_session_token = getattr(Settings, 'AWS_SESSION_TOKEN', None) if settings_session_token is None or settings_session_token == '': self.aws_session_token = input("\n\t%s" % K.AWS_SESSION_TOKEN_INPUT) if len(self.aws_session_token) < 25: self.show_step_inner_error("\n\t" + K.INVALID_KEY) raise Exception(K.INVALID_KEY) Settings.set('AWS_SESSION_TOKEN', self.aws_session_token) else: self.aws_session_token = settings_session_token
def read_aws_region(self): """Read AWS region from user if it is not already set in settings""" settings_region = getattr(Settings, 'AWS_REGION', None) if settings_region is None or settings_region == '': if self.silent_install: self.show_step_inner_error(K.AWS_REGION_NOT_SUPPLIED) raise Exception(K.AWS_REGION_NOT_SUPPLIED) aws_region = input("\n\t%s" % K.AWS_REGION_INPUT) else: aws_region = settings_region Settings.set('AWS_REGION', aws_region) return aws_region
def show_step_heading(self, heading, write_log=True): if write_log: SysLog().write_debug_log(heading) step_count_num = Settings.get('step_count_num', 1) print( self._get_heading_message_in_color( "\nStep %s: %s" % (str(step_count_num), heading), self.BCYAN_ANSI)) step_count_num = Settings.set('step_count_num', step_count_num + 1)
def read_input(self): """Read required inputs from user for the process to start""" self.show_step_heading(K.INPUT_READING_STARTED) self.AWS_AUTH_CRED['aws_auth_option'] = self.read_aws_auth_mechanism() self.AWS_AUTH_CRED['aws_region'] = self.read_aws_region() if self.AWS_AUTH_CRED['aws_auth_option'] == 1: self.AWS_AUTH_CRED['aws_access_key'] = self.read_aws_access_key() self.AWS_AUTH_CRED['aws_secret_key'] = self.read_aws_secret_key() elif self.AWS_AUTH_CRED['aws_auth_option'] == 2: self.AWS_AUTH_CRED[ 'assume_role_arn'] = self.read_aws_assume_role_arn() self.AWS_AUTH_CRED['tmp_credentials'] = generate_temp_credentials( self.AWS_AUTH_CRED['assume_role_arn'], self.AWS_AUTH_CRED['aws_region']) Settings.set('AWS_AUTH_CRED', self.AWS_AUTH_CRED) self.load_aws_account_details() self.show_step_finish(K.INPUT_READING_COMPLETED)
def __init__(self, args): Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True) super().__init__(args)
def read_input(self): Settings.set('AWS_ACCESS_KEY', "TempAccessKey") Settings.set('AWS_SECRET_KEY', "TempSecretKey") Settings.set('AWS_REGION', "TempRegion") Settings.set('AWS_ACCOUNT_ID', "TempAccountId")
def load_aws_account_id(self): aws_account_id = get_user_account_id(Settings.AWS_ACCESS_KEY, Settings.AWS_SECRET_KEY) Settings.set('AWS_ACCOUNT_ID', aws_account_id) self.aws_account_id = aws_account_id