def session(config, instance_name, profile_name='default', region_name='eu-west-1'): if not is_existing_profile(profile_name): raise ValueError('Invalid profile provided: {}'.format(profile_name)) if not is_existing_region(region_name): raise ValueError('Invalid region provided: {}'.format(profile_name)) config_data = config.get_host(instance_name) if config_data and config_data['name'] and config_data[ 'profile'] and config_data['region']: region = config_data['region'] profile = config_data['profile'] instance = config_data['name'] else: region = region_name profile = profile_name instance = instance_name ssm = get_aws_client('ssm', region_name=region, profile_name=profile) ec2 = get_aws_resource('ec2', region_name=region, profile_name=profile) instance_id = query_instance(name=instance, ec2=ec2) if instance_id is None: raise ValueError( 'No instance could be found for name: {}'.format(instance)) logger.info('Opening session on instance %s (%s) via profile %s', instance_id, region_name, profile_name) with Session(instance_id, region_name=region_name, ssm=ssm) as sess: sess.open()
def valid_aws_region( wrapped_function, instance, args, kwargs ): # pylint: disable=unused-argument if not is_existing_region(kwargs["region_name"]): raise ValueError("Invalid region provided: {}".format(kwargs["region_name"])) return wrapped_function(*args, **kwargs)
def test_region_validation(): assert is_existing_region(region_name=AWS_REGIONS[0]) assert not is_existing_region(region_name="unknown-region-1")
def validate_region(region): if not is_existing_region(region): raise ValidationError( 'Invalid region name provided: {}'.format(region))
def test_region_validation(self): self.assertTrue(is_existing_region(region_name=AWS_REGIONS[0])) self.assertFalse(is_existing_region(region_name='unknown-region-1'))
def validate_region(region): if not is_existing_region(region): raise ValidationError(f"Invalid region name provided: {region}")