示例#1
0
文件: input.py 项目: mpratsch/pacbot
 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
示例#2
0
 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
示例#3
0
    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
示例#4
0
 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')
示例#5
0
 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
示例#6
0
    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)
示例#7
0
 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
示例#8
0
 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
示例#9
0
 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
示例#10
0
    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)
示例#11
0
    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)
示例#12
0
文件: redeploy.py 项目: vicgud/pacbot
    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)
示例#13
0
文件: kernel.py 项目: rluta/pacbot
 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))
示例#14
0
    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
示例#15
0
文件: input.py 项目: mpratsch/pacbot
    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
示例#16
0
    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
示例#17
0
 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)
示例#18
0
    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)
示例#19
0
文件: upgrade.py 项目: vicgud/pacbot
 def __init__(self, args):
     Settings.set('SKIP_RESOURCE_EXISTENCE_CHECK', True)
     super().__init__(args)
示例#20
0
 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")
示例#21
0
 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