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)
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)
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) )
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
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) )
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
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)
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)
def test_validate_instance_name(self): instance_name = 'instance-name' self.params.instance_name = instance_name validate_instance_name(self.params)
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)
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)
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)
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)