示例#1
0
 def test_validate_instance_name_throws_on_long_name(self):
     self.params.instance_name = (
         '01234567890123456789012345678901234567890123456789'
         '012345678901234567890123456789012345678901234567891')
     error_msg = ('Instance name cannot be longer than {0} characters.'
                  ).format(MAX_INSTANCE_NAME_LENGTH)
     with self.assertRaisesRegexp(ParamValidationError, error_msg):
         validate_instance_name(self.params)
示例#2
0
 def test_validate_instance_name_throws_on_long_name(self):
     self.params.instance_name = (
         '01234567890123456789012345678901234567890123456789'
         '012345678901234567890123456789012345678901234567891'
     )
     with self.assertRaisesRegexp(
             ValueError,
             'Instance name cannot be longer than {0} characters.'.format(
                 MAX_INSTANCE_NAME_LENGTH)):
         validate_instance_name(self.params)
示例#3
0
    def _run_main(self, parsed_args, parsed_globals):
        params = parsed_args
        params.session = self._session
        validate_region(params, parsed_globals)
        validate_instance_name(params)
        validate_tags(params)
        validate_iam_user_arn(params)

        self.codedeploy = self._session.create_client(
            'codedeploy',
            region_name=params.region,
            endpoint_url=parsed_globals.endpoint_url,
            verify=parsed_globals.verify_ssl
        )
        self.iam = self._session.create_client(
            'iam',
            region_name=params.region
        )

        try:
            if not params.iam_user_arn:
                self._create_iam_user(params)
                self._create_access_key(params)
                self._create_user_policy(params)
                self._create_config(params)
            self._register_instance(params)
            if params.tags:
                self._add_tags(params)
            sys.stdout.write(
                'Copy the on-premises configuration file named {0} to the '
                'on-premises instance, and run the following command on the '
                'on-premises instance to install and configure the AWS '
                'CodeDeploy Agent:\n'
                'aws deploy install --config-file {0}\n'.format(
                    DEFAULT_CONFIG_FILE
                )
            )
        except Exception as e:
            sys.stdout.flush()
            sys.stderr.write(
                'ERROR\n'
                '{0}\n'
                'Register the on-premises instance by following the '
                'instructions in "Configure Existing On-Premises Instances by '
                'Using AWS CodeDeploy" in the AWS CodeDeploy User '
                'Guide.\n'.format(e)
            )
示例#4
0
    def _run_main(self, parsed_args, parsed_globals):
        params = parsed_args
        params.session = self._session
        validate_region(params, parsed_globals)
        validate_instance_name(params)
        validate_tags(params)
        validate_iam_user_arn(params)

        self.codedeploy = self._session.create_client(
            'codedeploy',
            region_name=params.region,
            endpoint_url=parsed_globals.endpoint_url,
            verify=parsed_globals.verify_ssl)
        self.iam = self._session.create_client('iam',
                                               region_name=params.region)

        try:
            if not params.iam_user_arn:
                self._create_iam_user(params)
                self._create_access_key(params)
                self._create_user_policy(params)
                self._create_config(params)
            self._register_instance(params)
            if params.tags:
                self._add_tags(params)
            sys.stdout.write(
                'Copy the on-premises configuration file named {0} to the '
                'on-premises instance, and run the following command on the '
                'on-premises instance to install and configure the AWS '
                'CodeDeploy Agent:\n'
                'aws deploy install --config-file {0}\n'.format(
                    DEFAULT_CONFIG_FILE))
        except Exception as e:
            sys.stdout.flush()
            sys.stderr.write(
                'ERROR\n'
                '{0}\n'
                'Register the on-premises instance by following the '
                'instructions in "Configure Existing On-Premises Instances by '
                'Using AWS CodeDeploy" in the AWS CodeDeploy User '
                'Guide.\n'.format(e))
            return 255
        return 0
示例#5
0
    def _run_main(self, parsed_args, parsed_globals):
        params = parsed_args
        params.session = self._session
        validate_region(params, parsed_globals)
        validate_instance_name(params)

        self.codedeploy = self._session.create_client(
            'codedeploy',
            region_name=params.region,
            endpoint_url=parsed_globals.endpoint_url,
            verify=parsed_globals.verify_ssl
        )
        self.iam = self._session.create_client(
            'iam',
            region_name=params.region
        )

        try:
            self._get_instance_info(params)
            if params.tags:
                self._remove_tags(params)
            self._deregister_instance(params)
            if not params.no_delete_iam_user:
                self._delete_user_policy(params)
                self._delete_access_key(params)
                self._delete_iam_user(params)
            sys.stdout.write(
                'Run the following command on the on-premises instance to '
                'uninstall the codedeploy-agent:\n'
                'aws deploy uninstall\n'
            )
        except Exception as e:
            sys.stdout.flush()
            sys.stderr.write(
                'ERROR\n'
                '{0}\n'
                'Deregister the on-premises instance by following the '
                'instructions in "Configure Existing On-Premises Instances by '
                'Using AWS CodeDeploy" in the AWS CodeDeploy User '
                'Guide.\n'.format(e)
            )
示例#6
0
    def _run_main(self, parsed_args, parsed_globals):
        params = parsed_args
        params.session = self._session
        validate_region(params, parsed_globals)
        validate_instance_name(params)

        self.codedeploy = self._session.create_client(
            'codedeploy',
            region_name=params.region,
            endpoint_url=parsed_globals.endpoint_url,
            verify=parsed_globals.verify_ssl)
        self.iam = self._session.create_client('iam',
                                               region_name=params.region)

        try:
            self._get_instance_info(params)
            if params.tags:
                self._remove_tags(params)
            self._deregister_instance(params)
            if not params.no_delete_iam_user:
                self._delete_user_policy(params)
                self._delete_access_key(params)
                self._delete_iam_user(params)
            sys.stdout.write(
                'Run the following command on the on-premises instance to '
                'uninstall the codedeploy-agent:\n'
                'aws deploy uninstall\n')
        except Exception as e:
            sys.stdout.flush()
            sys.stderr.write(
                'ERROR\n'
                '{0}\n'
                'Deregister the on-premises instance by following the '
                'instructions in "Configure Existing On-Premises Instances by '
                'Using AWS CodeDeploy" in the AWS CodeDeploy User '
                'Guide.\n'.format(e))
            return 255
        return 0
示例#7
0
 def test_validate_instance_name_throws_on_i_dash(self):
     self.params.instance_name = 'i-instance'
     error_msg = "Instance name cannot start with 'i-'."
     with self.assertRaisesRegexp(ParamValidationError, error_msg):
         validate_instance_name(self.params)
示例#8
0
 def test_validate_instance_name_throws_on_invalid_characters(self):
     self.params.instance_name = '!#$%^&*()<>/?;:[{]}'
     error_msg = 'Instance name contains invalid characters.'
     with self.assertRaisesRegexp(ParamValidationError, error_msg):
         validate_instance_name(self.params)
示例#9
0
 def test_validate_instance_name(self):
     instance_name = 'instance-name'
     self.params.instance_name = instance_name
     validate_instance_name(self.params)
示例#10
0
 def test_validate_instance_name_throws_on_i_dash(self):
     self.params.instance_name = 'i-instance'
     with self.assertRaisesRegexp(ValueError,
                                  "Instance name cannot start with 'i-'."):
         validate_instance_name(self.params)
示例#11
0
 def test_validate_instance_name_throws_on_i_dash(self):
     self.params.instance_name = 'i-instance'
     with self.assertRaisesRegexp(
             ValueError, "Instance name cannot start with 'i-'."):
         validate_instance_name(self.params)
示例#12
0
 def test_validate_instance_name_throws_on_invalid_characters(self):
     self.params.instance_name = '!#$%^&*()<>/?;:[{]}'
     with self.assertRaisesRegexp(
             ValueError, 'Instance name contains invalid characters.'):
         validate_instance_name(self.params)
示例#13
0
 def test_validate_instance_name(self):
     instance_name = 'instance-name'
     self.params.instance_name = instance_name
     validate_instance_name(self.params)
示例#14
0
文件: test_utils.py 项目: aws/aws-cli
 def test_validate_instance_name_throws_on_invalid_characters(self):
     self.params.instance_name = '!#$%^&*()<>/?;:[{]}'
     with self.assertRaisesRegex(
             ValueError, 'Instance name contains invalid characters.'):
         validate_instance_name(self.params)