Пример #1
0
                    "expected": "InvalidRouteTableID.NotFound",
                    "state": "retry"
                },
            ]
        }
    }
}


def model_for(name):
    ec2_models = core_waiter.WaiterModel(waiter_config=ec2_data)
    return ec2_models.get_waiter(name)


waiters_by_name = {
    ('EC2', 'route_table_exists'): lambda ec2: core_waiter.Waiter(
        'route_table_exists',
        model_for('RouteTableExists'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_route_tables
        ))
}


def get_waiter(client, waiter_name):
    try:
        return waiters_by_name[(client.__class__.__name__, waiter_name)](client)
    except KeyError:
        raise NotImplementedError("Waiter {0} could not be found for client {1}. Available waiters: {2}".format(
            waiter_name, type(client), ', '.join(repr(k) for k in waiters_by_name.keys())))
Пример #2
0
def eks_model(name):
    eks_models = core_waiter.WaiterModel(waiter_config=eks_data)
    return eks_models.get_waiter(name)


def rds_model(name):
    rds_models = core_waiter.WaiterModel(waiter_config=rds_data)
    return rds_models.get_waiter(name)


waiters_by_name = {
    ('EC2', 'internet_gateway_exists'):
    lambda ec2: core_waiter.Waiter(
        'internet_gateway_exists', ec2_model('InternetGatewayExists'),
        core_waiter.NormalizedOperationMethod(ec2.describe_internet_gateways)),
    ('EC2', 'route_table_exists'):
    lambda ec2: core_waiter.Waiter(
        'route_table_exists', ec2_model('RouteTableExists'),
        core_waiter.NormalizedOperationMethod(ec2.describe_route_tables)),
    ('EC2', 'security_group_exists'):
    lambda ec2: core_waiter.Waiter(
        'security_group_exists', ec2_model('SecurityGroupExists'),
        core_waiter.NormalizedOperationMethod(ec2.describe_security_groups)),
    ('EC2', 'subnet_exists'):
    lambda ec2: core_waiter.Waiter(
        'subnet_exists', ec2_model('SubnetExists'),
        core_waiter.NormalizedOperationMethod(ec2.describe_subnets)),
    ('EC2', 'subnet_has_map_public'):
    lambda ec2: core_waiter.Waiter(
        'subnet_has_map_public', ec2_model('SubnetHasMapPublic'),
Пример #3
0
def rds_model(name):
    rds_models = core_waiter.WaiterModel(waiter_config=_inject_limit_retries(rds_data))
    return rds_models.get_waiter(name)


def route53_model(name):
    route53_models = core_waiter.WaiterModel(waiter_config=_inject_limit_retries(route53_data))
    return route53_models.get_waiter(name)


waiters_by_name = {
    ('EC2', 'image_available'): lambda ec2: core_waiter.Waiter(
        'image_available',
        ec2_model('ImageAvailable'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_images
        )),
    ('EC2', 'internet_gateway_exists'): lambda ec2: core_waiter.Waiter(
        'internet_gateway_exists',
        ec2_model('InternetGatewayExists'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_internet_gateways
        )),
    ('EC2', 'internet_gateway_attached'): lambda ec2: core_waiter.Waiter(
        'internet_gateway_attached',
        ec2_model('InternetGatewayAttached'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_internet_gateways
        )),
    ('EC2', 'network_interface_attached'): lambda ec2: core_waiter.Waiter(
        'network_interface_attached',
Пример #4
0
def ec2_model(name):
    ec2_models = core_waiter.WaiterModel(waiter_config=ec2_data)
    return ec2_models.get_waiter(name)


def waf_model(name):
    waf_models = core_waiter.WaiterModel(waiter_config=waf_data)
    return waf_models.get_waiter(name)


waiters_by_name = {
    ('EC2', 'route_table_exists'): lambda ec2: core_waiter.Waiter(
        'route_table_exists',
        ec2_model('RouteTableExists'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_route_tables
        )),
    ('EC2', 'subnet_exists'): lambda ec2: core_waiter.Waiter(
        'subnet_exists',
        ec2_model('SubnetExists'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_subnets
        )),
    ('EC2', 'subnet_has_map_public'): lambda ec2: core_waiter.Waiter(
        'subnet_has_map_public',
        ec2_model('SubnetHasMapPublic'),
        core_waiter.NormalizedOperationMethod(
            ec2.describe_subnets
        )),
    ('EC2', 'subnet_no_map_public'): lambda ec2: core_waiter.Waiter(
        'subnet_no_map_public',