コード例 #1
0
ファイル: session.py プロジェクト: alanjds/aws-gate
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()
コード例 #2
0
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)
コード例 #3
0
ファイル: test_utils.py プロジェクト: mbp/aws-gate
def test_region_validation():
    assert is_existing_region(region_name=AWS_REGIONS[0])
    assert not is_existing_region(region_name="unknown-region-1")
コード例 #4
0
ファイル: config.py プロジェクト: jwarlander/aws-gate
def validate_region(region):
    if not is_existing_region(region):
        raise ValidationError(
            'Invalid region name provided: {}'.format(region))
コード例 #5
0
ファイル: test_utils.py プロジェクト: jwarlander/aws-gate
 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'))
コード例 #6
0
def validate_region(region):
    if not is_existing_region(region):
        raise ValidationError(f"Invalid region name provided: {region}")