Amazon Route 53 Resolver

2020/08/26 - Amazon Route 53 Resolver - 10 new5 updated api methods

Changes  Update route53resolver client to latest version

GetResolverQueryLogConfig (new) Link ¶

Gets information about a specified Resolver query logging configuration, such as the number of VPCs that the configuration is logging queries for and the location that logs are sent to.

See also: AWS API Documentation

Request Syntax

client.get_resolver_query_log_config(
    ResolverQueryLogConfigId='string'
)
type ResolverQueryLogConfigId:

string

param ResolverQueryLogConfigId:

[REQUIRED]

The ID of the Resolver query logging configuration that you want to get information about.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfig': {
        'Id': 'string',
        'OwnerId': 'string',
        'Status': 'CREATING'|'CREATED'|'DELETING'|'FAILED',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'AssociationCount': 123,
        'Arn': 'string',
        'Name': 'string',
        'DestinationArn': 'string',
        'CreatorRequestId': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfig (dict) --

      Information about the Resolver query logging configuration that you specified in a GetQueryLogConfig request.

      • Id (string) --

        The ID for the query logging configuration.

      • OwnerId (string) --

        The AWS account ID for the account that created the query logging configuration.

      • Status (string) --

        The status of the specified query logging configuration. Valid values include the following:

        • CREATING: Resolver is creating the query logging configuration.

        • CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging configuration.

        • FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. Here are two common causes:

          • The specified destination (for example, an Amazon S3 bucket) was deleted.

          • Permissions don't allow sending logs to the destination.

      • ShareStatus (string) --

        An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

      • AssociationCount (integer) --

        The number of VPCs that are associated with the query logging configuration.

      • Arn (string) --

        The ARN for the query logging configuration.

      • Name (string) --

        The name of the query logging configuration.

      • DestinationArn (string) --

        The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • CreatorRequestId (string) --

        A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

      • CreationTime (string) --

        The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

CreateResolverQueryLogConfig (new) Link ¶

Creates a Resolver query logging configuration, which defines where you want Resolver to save DNS query logs that originate in your VPCs. Resolver can log queries only for VPCs that are in the same Region as the query logging configuration.

To specify which VPCs you want to log queries for, you use AssociateResolverQueryLogConfig. For more information, see AssociateResolverQueryLogConfig.

You can optionally use AWS Resource Access Manager (AWS RAM) to share a query logging configuration with other AWS accounts. The other accounts can then associate VPCs with the configuration. The query logs that Resolver creates for a configuration include all DNS queries that originate in all VPCs that are associated with the configuration.

See also: AWS API Documentation

Request Syntax

client.create_resolver_query_log_config(
    Name='string',
    DestinationArn='string',
    CreatorRequestId='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type Name:

string

param Name:

[REQUIRED]

The name that you want to give the query logging configuration

type DestinationArn:

string

param DestinationArn:

[REQUIRED]

The ARN of the resource that you want Resolver to send query logs. You can send query logs to an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream. Examples of valid values include the following:

  • S3 bucket: arn:aws:s3:::examplebucket You can optionally append a file prefix to the end of the ARN. arn:aws:s3:::examplebucket/development/

  • CloudWatch Logs log group: arn:aws:logs:us-west-1:123456789012:log-group:/mystack-testgroup-12ABC1AB12A1:*

  • Kinesis Data Firehose delivery stream: arn:aws:kinesis:us-east-2:0123456789:stream/my_stream_name

type CreatorRequestId:

string

param CreatorRequestId:

[REQUIRED]

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

This field is autopopulated if not provided.

type Tags:

list

param Tags:

A list of the tag keys and values that you want to associate with the query logging configuration.

  • (dict) --

    One tag that you want to add to the specified resource. A tag consists of a Key (a name for the tag) and a Value.

    • Key (string) -- [REQUIRED]

      The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, the value of Key might be account-id.

    • Value (string) -- [REQUIRED]

      The value for the tag. For example, if Key is account-id, then Value might be the ID of the customer account that you're creating the resource for.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfig': {
        'Id': 'string',
        'OwnerId': 'string',
        'Status': 'CREATING'|'CREATED'|'DELETING'|'FAILED',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'AssociationCount': 123,
        'Arn': 'string',
        'Name': 'string',
        'DestinationArn': 'string',
        'CreatorRequestId': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfig (dict) --

      Information about the CreateResolverQueryLogConfig request, including the status of the request.

      • Id (string) --

        The ID for the query logging configuration.

      • OwnerId (string) --

        The AWS account ID for the account that created the query logging configuration.

      • Status (string) --

        The status of the specified query logging configuration. Valid values include the following:

        • CREATING: Resolver is creating the query logging configuration.

        • CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging configuration.

        • FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. Here are two common causes:

          • The specified destination (for example, an Amazon S3 bucket) was deleted.

          • Permissions don't allow sending logs to the destination.

      • ShareStatus (string) --

        An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

      • AssociationCount (integer) --

        The number of VPCs that are associated with the query logging configuration.

      • Arn (string) --

        The ARN for the query logging configuration.

      • Name (string) --

        The name of the query logging configuration.

      • DestinationArn (string) --

        The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • CreatorRequestId (string) --

        A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

      • CreationTime (string) --

        The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

ListResolverQueryLogConfigAssociations (new) Link ¶

Lists information about associations between Amazon VPCs and query logging configurations.

See also: AWS API Documentation

Request Syntax

client.list_resolver_query_log_config_associations(
    MaxResults=123,
    NextToken='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    SortBy='string',
    SortOrder='ASCENDING'|'DESCENDING'
)
type MaxResults:

integer

param MaxResults:

The maximum number of query logging associations that you want to return in the response to a ListResolverQueryLogConfigAssociations request. If you don't specify a value for MaxResults, Resolver returns up to 100 query logging associations.

type NextToken:

string

param NextToken:

For the first ListResolverQueryLogConfigAssociations request, omit this value.

If there are more than MaxResults query logging associations that match the values that you specify for Filters, you can submit another ListResolverQueryLogConfigAssociations request to get the next group of associations. In the next request, specify the value of NextToken from the previous response.

type Filters:

list

param Filters:

An optional specification to return a subset of query logging associations.

  • (dict) --

    For Resolver list operations ( ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, and ListResolverQueryLogConfigAssociations), an optional specification to return a subset of objects.

    To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

    • Name (string) --

      The name of the parameter that you want to use to filter objects.

      The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.

      ListResolverEndpoints

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver endpoint.

      • Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.

      • HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.

      • IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

      • Name: The name of the Resolver endpoint.

      • SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.

      • Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.

      ListResolverRules

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver rule.

      • DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com: example.com.

      • Name: The name of the Resolver rule.

      • ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

      • Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.

      • Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.

      ListResolverRuleAssociations

      Valid values for Name include the following:

      • Name: The name of the Resolver rule association.

      • ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

      • Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.

      • VPCId: The ID of the VPC that the Resolver rule is associated with.

      ListResolverQueryLogConfigs

      Valid values for Name include the following:

      • Arn: The ARN for the query logging configuration.

      • AssociationCount: The number of VPCs that are associated with the query logging configuration.

      • CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

      • CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

      • Destination: The AWS service that you want to forward query logs to. Valid values include the following:

        • S3

        • CloudWatchLogs

        • KinesisFirehose

      • DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • Id: The ID of the query logging configuration

      • Name: The name of the query logging configuration

      • OwnerId: The AWS account ID for the account that created the query logging configuration.

      • ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.

      • Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      ListResolverQueryLogConfigAssociations

      Valid values for Name include the following:

      • CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

      • Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.

      • Id: The ID of the query logging association.

      • ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

      • ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

    • Values (list) --

      When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

      • (string) --

type SortBy:

string

param SortBy:

The element that you want Resolver to sort query logging associations by.

Valid values include the following elements:

  • CreationTime: The ID of the query logging association.

  • Error: If the value of Status is FAILED, the value of Error indicates the cause:

    • DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

    • ACCESS_DENIED: Permissions don't allow sending logs to the destination.

If Status is a value other than FAILED, ERROR is null.

  • Id: The ID of the query logging association

  • ResolverQueryLogConfigId: The ID of the query logging configuration

  • ResourceId: The ID of the VPC that is associated with the query logging configuration

  • Status: The current status of the configuration. Valid values include the following:

    • CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

    • CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

    • DELETING: Resolver is deleting this query logging association.

    • FAILED: Resolver either couldn't create or couldn't delete the query logging association. Here are two common causes:

      • The specified destination (for example, an Amazon S3 bucket) was deleted.

      • Permissions don't allow sending logs to the destination.

type SortOrder:

string

param SortOrder:

If you specified a value for SortBy, the order that you want query logging associations to be listed in, ASCENDING or DESCENDING.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'TotalCount': 123,
    'TotalFilteredCount': 123,
    'ResolverQueryLogConfigAssociations': [
        {
            'Id': 'string',
            'ResolverQueryLogConfigId': 'string',
            'ResourceId': 'string',
            'Status': 'CREATING'|'ACTIVE'|'ACTION_NEEDED'|'DELETING'|'FAILED',
            'Error': 'NONE'|'DESTINATION_NOT_FOUND'|'ACCESS_DENIED'|'INTERNAL_SERVICE_ERROR',
            'ErrorMessage': 'string',
            'CreationTime': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If there are more than MaxResults query logging associations, you can submit another ListResolverQueryLogConfigAssociations request to get the next group of associations. In the next request, specify the value of NextToken from the previous response.

    • TotalCount (integer) --

      The total number of query logging associations that were created by the current account in the specified Region. This count can differ from the number of associations that are returned in a ListResolverQueryLogConfigAssociations response, depending on the values that you specify in the request.

    • TotalFilteredCount (integer) --

      The total number of query logging associations that were created by the current account in the specified Region and that match the filters that were specified in the ListResolverQueryLogConfigAssociations request. For the total number of associations that were created by the current account in the specified Region, see TotalCount.

    • ResolverQueryLogConfigAssociations (list) --

      A list that contains one ResolverQueryLogConfigAssociations element for each query logging association that matches the values that you specified for Filter.

      • (dict) --

        In the response to an AssociateResolverQueryLogConfig, DisassociateResolverQueryLogConfig, GetResolverQueryLogConfigAssociation, or ListResolverQueryLogConfigAssociations, request, a complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.

        • Id (string) --

          The ID of the query logging association.

        • ResolverQueryLogConfigId (string) --

          The ID of the query logging configuration that a VPC is associated with.

        • ResourceId (string) --

          The ID of the Amazon VPC that is associated with the query logging configuration.

        • Status (string) --

          The status of the specified query logging association. Valid values include the following:

          • CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

          • CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

          • DELETING: Resolver is deleting this query logging association.

          • FAILED: Resolver either couldn't create or couldn't delete the query logging association.

        • Error (string) --

          If the value of Status is FAILED, the value of Error indicates the cause:

          • DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

          • ACCESS_DENIED: Permissions don't allow sending logs to the destination.

          If the value of Status is a value other than FAILED, Error is null.

        • ErrorMessage (string) --

          Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.

        • CreationTime (string) --

          The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

AssociateResolverQueryLogConfig (new) Link ¶

Associates an Amazon VPC with a specified query logging configuration. Route 53 Resolver logs DNS queries that originate in all of the Amazon VPCs that are associated with a specified query logging configuration. To associate more than one VPC with a configuration, submit one AssociateResolverQueryLogConfig request for each VPC.

To remove a VPC from a query logging configuration, see DisassociateResolverQueryLogConfig.

See also: AWS API Documentation

Request Syntax

client.associate_resolver_query_log_config(
    ResolverQueryLogConfigId='string',
    ResourceId='string'
)
type ResolverQueryLogConfigId:

string

param ResolverQueryLogConfigId:

[REQUIRED]

The ID of the query logging configuration that you want to associate a VPC with.

type ResourceId:

string

param ResourceId:

[REQUIRED]

The ID of an Amazon VPC that you want this query logging configuration to log queries for.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfigAssociation': {
        'Id': 'string',
        'ResolverQueryLogConfigId': 'string',
        'ResourceId': 'string',
        'Status': 'CREATING'|'ACTIVE'|'ACTION_NEEDED'|'DELETING'|'FAILED',
        'Error': 'NONE'|'DESTINATION_NOT_FOUND'|'ACCESS_DENIED'|'INTERNAL_SERVICE_ERROR',
        'ErrorMessage': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfigAssociation (dict) --

      A complex type that contains settings for a specified association between an Amazon VPC and a query logging configuration.

      • Id (string) --

        The ID of the query logging association.

      • ResolverQueryLogConfigId (string) --

        The ID of the query logging configuration that a VPC is associated with.

      • ResourceId (string) --

        The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status (string) --

        The status of the specified query logging association. Valid values include the following:

        • CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

        • CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging association.

        • FAILED: Resolver either couldn't create or couldn't delete the query logging association.

      • Error (string) --

        If the value of Status is FAILED, the value of Error indicates the cause:

        • DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

        • ACCESS_DENIED: Permissions don't allow sending logs to the destination.

        If the value of Status is a value other than FAILED, Error is null.

      • ErrorMessage (string) --

        Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.

      • CreationTime (string) --

        The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

DisassociateResolverQueryLogConfig (new) Link ¶

Disassociates a VPC from a query logging configuration.

See also: AWS API Documentation

Request Syntax

client.disassociate_resolver_query_log_config(
    ResolverQueryLogConfigId='string',
    ResourceId='string'
)
type ResolverQueryLogConfigId:

string

param ResolverQueryLogConfigId:

[REQUIRED]

The ID of the query logging configuration that you want to disassociate a specified VPC from.

type ResourceId:

string

param ResourceId:

[REQUIRED]

The ID of the Amazon VPC that you want to disassociate from a specified query logging configuration.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfigAssociation': {
        'Id': 'string',
        'ResolverQueryLogConfigId': 'string',
        'ResourceId': 'string',
        'Status': 'CREATING'|'ACTIVE'|'ACTION_NEEDED'|'DELETING'|'FAILED',
        'Error': 'NONE'|'DESTINATION_NOT_FOUND'|'ACCESS_DENIED'|'INTERNAL_SERVICE_ERROR',
        'ErrorMessage': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfigAssociation (dict) --

      A complex type that contains settings for the association that you deleted between an Amazon VPC and a query logging configuration.

      • Id (string) --

        The ID of the query logging association.

      • ResolverQueryLogConfigId (string) --

        The ID of the query logging configuration that a VPC is associated with.

      • ResourceId (string) --

        The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status (string) --

        The status of the specified query logging association. Valid values include the following:

        • CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

        • CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging association.

        • FAILED: Resolver either couldn't create or couldn't delete the query logging association.

      • Error (string) --

        If the value of Status is FAILED, the value of Error indicates the cause:

        • DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

        • ACCESS_DENIED: Permissions don't allow sending logs to the destination.

        If the value of Status is a value other than FAILED, Error is null.

      • ErrorMessage (string) --

        Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.

      • CreationTime (string) --

        The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

GetResolverQueryLogConfigAssociation (new) Link ¶

Gets information about a specified association between a Resolver query logging configuration and an Amazon VPC. When you associate a VPC with a query logging configuration, Resolver logs DNS queries that originate in that VPC.

See also: AWS API Documentation

Request Syntax

client.get_resolver_query_log_config_association(
    ResolverQueryLogConfigAssociationId='string'
)
type ResolverQueryLogConfigAssociationId:

string

param ResolverQueryLogConfigAssociationId:

[REQUIRED]

The ID of the Resolver query logging configuration association that you want to get information about.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfigAssociation': {
        'Id': 'string',
        'ResolverQueryLogConfigId': 'string',
        'ResourceId': 'string',
        'Status': 'CREATING'|'ACTIVE'|'ACTION_NEEDED'|'DELETING'|'FAILED',
        'Error': 'NONE'|'DESTINATION_NOT_FOUND'|'ACCESS_DENIED'|'INTERNAL_SERVICE_ERROR',
        'ErrorMessage': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfigAssociation (dict) --

      Information about the Resolver query logging configuration association that you specified in a GetQueryLogConfigAssociation request.

      • Id (string) --

        The ID of the query logging association.

      • ResolverQueryLogConfigId (string) --

        The ID of the query logging configuration that a VPC is associated with.

      • ResourceId (string) --

        The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status (string) --

        The status of the specified query logging association. Valid values include the following:

        • CREATING: Resolver is creating an association between an Amazon VPC and a query logging configuration.

        • CREATED: The association between an Amazon VPC and a query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging association.

        • FAILED: Resolver either couldn't create or couldn't delete the query logging association.

      • Error (string) --

        If the value of Status is FAILED, the value of Error indicates the cause:

        • DESTINATION_NOT_FOUND: The specified destination (for example, an Amazon S3 bucket) was deleted.

        • ACCESS_DENIED: Permissions don't allow sending logs to the destination.

        If the value of Status is a value other than FAILED, Error is null.

      • ErrorMessage (string) --

        Contains additional information about the error. If the value or Error is null, the value of ErrorMessage also is null.

      • CreationTime (string) --

        The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

GetResolverQueryLogConfigPolicy (new) Link ¶

Gets information about a query logging policy. A query logging policy specifies the Resolver query logging operations and resources that you want to allow another AWS account to be able to use.

See also: AWS API Documentation

Request Syntax

client.get_resolver_query_log_config_policy(
    Arn='string'
)
type Arn:

string

param Arn:

[REQUIRED]

The ARN of the query logging configuration that you want to get the query logging policy for.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfigPolicy': 'string'
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfigPolicy (string) --

      Information about the query logging policy for the query logging configuration that you specified in a GetResolverQueryLogConfigPolicy request.

PutResolverQueryLogConfigPolicy (new) Link ¶

Specifies an AWS account that you want to share a query logging configuration with, the query logging configuration that you want to share, and the operations that you want the account to be able to perform on the configuration.

See also: AWS API Documentation

Request Syntax

client.put_resolver_query_log_config_policy(
    Arn='string',
    ResolverQueryLogConfigPolicy='string'
)
type Arn:

string

param Arn:

[REQUIRED]

The Amazon Resource Name (ARN) of the account that you want to share rules with.

type ResolverQueryLogConfigPolicy:

string

param ResolverQueryLogConfigPolicy:

[REQUIRED]

An AWS Identity and Access Management policy statement that lists the query logging configurations that you want to share with another AWS account and the operations that you want the account to be able to perform. You can specify the following operations in the Actions section of the statement:

  • route53resolver:AssociateResolverQueryLogConfig

  • route53resolver:DisassociateResolverQueryLogConfig

  • route53resolver:ListResolverQueryLogConfigAssociations

  • route53resolver:ListResolverQueryLogConfigs

In the Resource section of the statement, you specify the ARNs for the query logging configurations that you want to share with the account that you specified in Arn.

rtype:

dict

returns:

Response Syntax

{
    'ReturnValue': True|False
}

Response Structure

  • (dict) --

    The response to a PutResolverQueryLogConfigPolicy request.

    • ReturnValue (boolean) --

      Whether the PutResolverQueryLogConfigPolicy request was successful.

ListResolverQueryLogConfigs (new) Link ¶

Lists information about the specified query logging configurations. Each configuration defines where you want Resolver to save DNS query logs and specifies the VPCs that you want to log queries for.

See also: AWS API Documentation

Request Syntax

client.list_resolver_query_log_configs(
    MaxResults=123,
    NextToken='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    SortBy='string',
    SortOrder='ASCENDING'|'DESCENDING'
)
type MaxResults:

integer

param MaxResults:

The maximum number of query logging configurations that you want to return in the response to a ListResolverQueryLogConfigs request. If you don't specify a value for MaxResults, Resolver returns up to 100 query logging configurations.

type NextToken:

string

param NextToken:

For the first ListResolverQueryLogConfigs request, omit this value.

If there are more than MaxResults query logging configurations that match the values that you specify for Filters, you can submit another ListResolverQueryLogConfigs request to get the next group of configurations. In the next request, specify the value of NextToken from the previous response.

type Filters:

list

param Filters:

An optional specification to return a subset of query logging configurations.

  • (dict) --

    For Resolver list operations ( ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, and ListResolverQueryLogConfigAssociations), an optional specification to return a subset of objects.

    To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

    • Name (string) --

      The name of the parameter that you want to use to filter objects.

      The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.

      ListResolverEndpoints

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver endpoint.

      • Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.

      • HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.

      • IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

      • Name: The name of the Resolver endpoint.

      • SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.

      • Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.

      ListResolverRules

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver rule.

      • DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com: example.com.

      • Name: The name of the Resolver rule.

      • ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

      • Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.

      • Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.

      ListResolverRuleAssociations

      Valid values for Name include the following:

      • Name: The name of the Resolver rule association.

      • ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

      • Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.

      • VPCId: The ID of the VPC that the Resolver rule is associated with.

      ListResolverQueryLogConfigs

      Valid values for Name include the following:

      • Arn: The ARN for the query logging configuration.

      • AssociationCount: The number of VPCs that are associated with the query logging configuration.

      • CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

      • CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

      • Destination: The AWS service that you want to forward query logs to. Valid values include the following:

        • S3

        • CloudWatchLogs

        • KinesisFirehose

      • DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • Id: The ID of the query logging configuration

      • Name: The name of the query logging configuration

      • OwnerId: The AWS account ID for the account that created the query logging configuration.

      • ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.

      • Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      ListResolverQueryLogConfigAssociations

      Valid values for Name include the following:

      • CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

      • Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.

      • Id: The ID of the query logging association.

      • ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

      • ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

    • Values (list) --

      When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

      • (string) --

type SortBy:

string

param SortBy:

The element that you want Resolver to sort query logging configurations by.

Valid values include the following elements:

  • Arn: The ARN of the query logging configuration

  • AssociationCount: The number of VPCs that are associated with the specified configuration

  • CreationTime: The date and time that Resolver returned when the configuration was created

  • CreatorRequestId: The value that was specified for CreatorRequestId when the configuration was created

  • DestinationArn: The location that logs are sent to

  • Id: The ID of the configuration

  • Name: The name of the configuration

  • OwnerId: The AWS account number of the account that created the configuration

  • ShareStatus: Whether the configuration is shared with other AWS accounts or shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

  • Status: The current status of the configuration. Valid values include the following:

    • CREATING: Resolver is creating the query logging configuration.

    • CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

    • DELETING: Resolver is deleting this query logging configuration.

    • FAILED: Resolver either couldn't create or couldn't delete the query logging configuration. Here are two common causes:

      • The specified destination (for example, an Amazon S3 bucket) was deleted.

      • Permissions don't allow sending logs to the destination.

type SortOrder:

string

param SortOrder:

If you specified a value for SortBy, the order that you want query logging configurations to be listed in, ASCENDING or DESCENDING.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'TotalCount': 123,
    'TotalFilteredCount': 123,
    'ResolverQueryLogConfigs': [
        {
            'Id': 'string',
            'OwnerId': 'string',
            'Status': 'CREATING'|'CREATED'|'DELETING'|'FAILED',
            'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
            'AssociationCount': 123,
            'Arn': 'string',
            'Name': 'string',
            'DestinationArn': 'string',
            'CreatorRequestId': 'string',
            'CreationTime': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If there are more than MaxResults query logging configurations, you can submit another ListResolverQueryLogConfigs request to get the next group of configurations. In the next request, specify the value of NextToken from the previous response.

    • TotalCount (integer) --

      The total number of query logging configurations that were created by the current account in the specified Region. This count can differ from the number of query logging configurations that are returned in a ListResolverQueryLogConfigs response, depending on the values that you specify in the request.

    • TotalFilteredCount (integer) --

      The total number of query logging configurations that were created by the current account in the specified Region and that match the filters that were specified in the ListResolverQueryLogConfigs request. For the total number of query logging configurations that were created by the current account in the specified Region, see TotalCount.

    • ResolverQueryLogConfigs (list) --

      A list that contains one ResolverQueryLogConfig element for each query logging configuration that matches the values that you specified for Filter.

      • (dict) --

        In the response to a CreateResolverQueryLogConfig, DeleteResolverQueryLogConfig, GetResolverQueryLogConfig, or ListResolverQueryLogConfigs request, a complex type that contains settings for one query logging configuration.

        • Id (string) --

          The ID for the query logging configuration.

        • OwnerId (string) --

          The AWS account ID for the account that created the query logging configuration.

        • Status (string) --

          The status of the specified query logging configuration. Valid values include the following:

          • CREATING: Resolver is creating the query logging configuration.

          • CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

          • DELETING: Resolver is deleting this query logging configuration.

          • FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. Here are two common causes:

            • The specified destination (for example, an Amazon S3 bucket) was deleted.

            • Permissions don't allow sending logs to the destination.

        • ShareStatus (string) --

          An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

        • AssociationCount (integer) --

          The number of VPCs that are associated with the query logging configuration.

        • Arn (string) --

          The ARN for the query logging configuration.

        • Name (string) --

          The name of the query logging configuration.

        • DestinationArn (string) --

          The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

        • CreatorRequestId (string) --

          A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

        • CreationTime (string) --

          The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

DeleteResolverQueryLogConfig (new) Link ¶

Deletes a query logging configuration. When you delete a configuration, Resolver stops logging DNS queries for all of the Amazon VPCs that are associated with the configuration. This also applies if the query logging configuration is shared with other AWS accounts, and the other accounts have associated VPCs with the shared configuration.

Before you can delete a query logging configuration, you must first disassociate all VPCs from the configuration. See DisassociateResolverQueryLogConfig.

If you used Resource Access Manager (RAM) to share a query logging configuration with other accounts, you must stop sharing the configuration before you can delete a configuration. The accounts that you shared the configuration with can first disassociate VPCs that they associated with the configuration, but that's not necessary. If you stop sharing the configuration, those VPCs are automatically disassociated from the configuration.

See also: AWS API Documentation

Request Syntax

client.delete_resolver_query_log_config(
    ResolverQueryLogConfigId='string'
)
type ResolverQueryLogConfigId:

string

param ResolverQueryLogConfigId:

[REQUIRED]

The ID of the query logging configuration that you want to delete.

rtype:

dict

returns:

Response Syntax

{
    'ResolverQueryLogConfig': {
        'Id': 'string',
        'OwnerId': 'string',
        'Status': 'CREATING'|'CREATED'|'DELETING'|'FAILED',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'AssociationCount': 123,
        'Arn': 'string',
        'Name': 'string',
        'DestinationArn': 'string',
        'CreatorRequestId': 'string',
        'CreationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverQueryLogConfig (dict) --

      Information about the query logging configuration that you deleted, including the status of the request.

      • Id (string) --

        The ID for the query logging configuration.

      • OwnerId (string) --

        The AWS account ID for the account that created the query logging configuration.

      • Status (string) --

        The status of the specified query logging configuration. Valid values include the following:

        • CREATING: Resolver is creating the query logging configuration.

        • CREATED: The query logging configuration was successfully created. Resolver is logging queries that originate in the specified VPC.

        • DELETING: Resolver is deleting this query logging configuration.

        • FAILED: Resolver can't deliver logs to the location that is specified in the query logging configuration. Here are two common causes:

          • The specified destination (for example, an Amazon S3 bucket) was deleted.

          • Permissions don't allow sending logs to the destination.

      • ShareStatus (string) --

        An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Sharing is configured through AWS Resource Access Manager (AWS RAM).

      • AssociationCount (integer) --

        The number of VPCs that are associated with the query logging configuration.

      • Arn (string) --

        The ARN for the query logging configuration.

      • Name (string) --

        The name of the query logging configuration.

      • DestinationArn (string) --

        The ARN of the resource that you want Resolver to send query logs: an Amazon S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • CreatorRequestId (string) --

        A unique string that identifies the request that created the query logging configuration. The CreatorRequestId allows failed requests to be retried without the risk of executing the operation twice.

      • CreationTime (string) --

        The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

CreateResolverRule (updated) Link ¶
Changes (response)
{'ResolverRule': {'CreationTime': 'string', 'ModificationTime': 'string'}}

For DNS queries that originate in your VPCs, specifies which Resolver endpoint the queries pass through, one domain name that you want to forward to your network, and the IP addresses of the DNS resolvers in your network.

See also: AWS API Documentation

Request Syntax

client.create_resolver_rule(
    CreatorRequestId='string',
    Name='string',
    RuleType='FORWARD'|'SYSTEM'|'RECURSIVE',
    DomainName='string',
    TargetIps=[
        {
            'Ip': 'string',
            'Port': 123
        },
    ],
    ResolverEndpointId='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type CreatorRequestId:

string

param CreatorRequestId:

[REQUIRED]

A unique string that identifies the request and that allows failed requests to be retried without the risk of executing the operation twice. CreatorRequestId can be any unique string, for example, a date/time stamp.

type Name:

string

param Name:

A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.

type RuleType:

string

param RuleType:

[REQUIRED]

When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

type DomainName:

string

param DomainName:

[REQUIRED]

DNS queries for this domain name are forwarded to the IP addresses that you specify in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), outbound DNS queries are routed using the Resolver rule that contains the most specific domain name (www.example.com).

type TargetIps:

list

param TargetIps:

The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a comma.

TargetIps is available only when the value of Rule type is FORWARD.

  • (dict) --

    In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

    • Ip (string) -- [REQUIRED]

      One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

    • Port (integer) --

      The port at Ip that you want to forward DNS queries to.

type ResolverEndpointId:

string

param ResolverEndpointId:

The ID of the outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

type Tags:

list

param Tags:

A list of the tag keys and values that you want to associate with the endpoint.

  • (dict) --

    One tag that you want to add to the specified resource. A tag consists of a Key (a name for the tag) and a Value.

    • Key (string) -- [REQUIRED]

      The name for the tag. For example, if you want to associate Resolver resources with the account IDs of your customers for billing purposes, the value of Key might be account-id.

    • Value (string) -- [REQUIRED]

      The value for the tag. For example, if Key is account-id, then Value might be the ID of the customer account that you're creating the resource for.

rtype:

dict

returns:

Response Syntax

{
    'ResolverRule': {
        'Id': 'string',
        'CreatorRequestId': 'string',
        'Arn': 'string',
        'DomainName': 'string',
        'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
        'StatusMessage': 'string',
        'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE',
        'Name': 'string',
        'TargetIps': [
            {
                'Ip': 'string',
                'Port': 123
            },
        ],
        'ResolverEndpointId': 'string',
        'OwnerId': 'string',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'CreationTime': 'string',
        'ModificationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverRule (dict) --

      Information about the CreateResolverRule request, including the status of the request.

      • Id (string) --

        The ID that Resolver assigned to the Resolver rule when you created it.

      • CreatorRequestId (string) --

        A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

      • Arn (string) --

        The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

      • DomainName (string) --

        DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

      • Status (string) --

        A code that specifies the current status of the Resolver rule.

      • StatusMessage (string) --

        A detailed description of the status of a Resolver rule.

      • RuleType (string) --

        When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

        When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

        For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

        Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      • Name (string) --

        The name for the Resolver rule, which you specified when you created the Resolver rule.

      • TargetIps (list) --

        An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

        • (dict) --

          In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

          • Ip (string) --

            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

          • Port (integer) --

            The port at Ip that you want to forward DNS queries to.

      • ResolverEndpointId (string) --

        The ID of the endpoint that the rule is associated with.

      • OwnerId (string) --

        When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

      • ShareStatus (string) --

        Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

      • CreationTime (string) --

        The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

      • ModificationTime (string) --

        The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

DeleteResolverRule (updated) Link ¶
Changes (response)
{'ResolverRule': {'CreationTime': 'string', 'ModificationTime': 'string'}}

Deletes a Resolver rule. Before you can delete a Resolver rule, you must disassociate it from all the VPCs that you associated the Resolver rule with. For more information, see DisassociateResolverRule.

See also: AWS API Documentation

Request Syntax

client.delete_resolver_rule(
    ResolverRuleId='string'
)
type ResolverRuleId:

string

param ResolverRuleId:

[REQUIRED]

The ID of the Resolver rule that you want to delete.

rtype:

dict

returns:

Response Syntax

{
    'ResolverRule': {
        'Id': 'string',
        'CreatorRequestId': 'string',
        'Arn': 'string',
        'DomainName': 'string',
        'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
        'StatusMessage': 'string',
        'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE',
        'Name': 'string',
        'TargetIps': [
            {
                'Ip': 'string',
                'Port': 123
            },
        ],
        'ResolverEndpointId': 'string',
        'OwnerId': 'string',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'CreationTime': 'string',
        'ModificationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverRule (dict) --

      Information about the DeleteResolverRule request, including the status of the request.

      • Id (string) --

        The ID that Resolver assigned to the Resolver rule when you created it.

      • CreatorRequestId (string) --

        A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

      • Arn (string) --

        The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

      • DomainName (string) --

        DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

      • Status (string) --

        A code that specifies the current status of the Resolver rule.

      • StatusMessage (string) --

        A detailed description of the status of a Resolver rule.

      • RuleType (string) --

        When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

        When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

        For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

        Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      • Name (string) --

        The name for the Resolver rule, which you specified when you created the Resolver rule.

      • TargetIps (list) --

        An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

        • (dict) --

          In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

          • Ip (string) --

            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

          • Port (integer) --

            The port at Ip that you want to forward DNS queries to.

      • ResolverEndpointId (string) --

        The ID of the endpoint that the rule is associated with.

      • OwnerId (string) --

        When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

      • ShareStatus (string) --

        Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

      • CreationTime (string) --

        The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

      • ModificationTime (string) --

        The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

GetResolverRule (updated) Link ¶
Changes (response)
{'ResolverRule': {'CreationTime': 'string', 'ModificationTime': 'string'}}

Gets information about a specified Resolver rule, such as the domain name that the rule forwards DNS queries for and the ID of the outbound Resolver endpoint that the rule is associated with.

See also: AWS API Documentation

Request Syntax

client.get_resolver_rule(
    ResolverRuleId='string'
)
type ResolverRuleId:

string

param ResolverRuleId:

[REQUIRED]

The ID of the Resolver rule that you want to get information about.

rtype:

dict

returns:

Response Syntax

{
    'ResolverRule': {
        'Id': 'string',
        'CreatorRequestId': 'string',
        'Arn': 'string',
        'DomainName': 'string',
        'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
        'StatusMessage': 'string',
        'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE',
        'Name': 'string',
        'TargetIps': [
            {
                'Ip': 'string',
                'Port': 123
            },
        ],
        'ResolverEndpointId': 'string',
        'OwnerId': 'string',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'CreationTime': 'string',
        'ModificationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverRule (dict) --

      Information about the Resolver rule that you specified in a GetResolverRule request.

      • Id (string) --

        The ID that Resolver assigned to the Resolver rule when you created it.

      • CreatorRequestId (string) --

        A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

      • Arn (string) --

        The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

      • DomainName (string) --

        DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

      • Status (string) --

        A code that specifies the current status of the Resolver rule.

      • StatusMessage (string) --

        A detailed description of the status of a Resolver rule.

      • RuleType (string) --

        When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

        When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

        For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

        Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      • Name (string) --

        The name for the Resolver rule, which you specified when you created the Resolver rule.

      • TargetIps (list) --

        An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

        • (dict) --

          In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

          • Ip (string) --

            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

          • Port (integer) --

            The port at Ip that you want to forward DNS queries to.

      • ResolverEndpointId (string) --

        The ID of the endpoint that the rule is associated with.

      • OwnerId (string) --

        When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

      • ShareStatus (string) --

        Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

      • CreationTime (string) --

        The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

      • ModificationTime (string) --

        The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

ListResolverRules (updated) Link ¶
Changes (response)
{'ResolverRules': {'CreationTime': 'string', 'ModificationTime': 'string'}}

Lists the Resolver rules that were created using the current AWS account.

See also: AWS API Documentation

Request Syntax

client.list_resolver_rules(
    MaxResults=123,
    NextToken='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ]
)
type MaxResults:

integer

param MaxResults:

The maximum number of Resolver rules that you want to return in the response to a ListResolverRules request. If you don't specify a value for MaxResults, Resolver returns up to 100 Resolver rules.

type NextToken:

string

param NextToken:

For the first ListResolverRules request, omit this value.

If you have more than MaxResults Resolver rules, you can submit another ListResolverRules request to get the next group of Resolver rules. In the next request, specify the value of NextToken from the previous response.

type Filters:

list

param Filters:

An optional specification to return a subset of Resolver rules, such as all Resolver rules that are associated with the same Resolver endpoint.

  • (dict) --

    For Resolver list operations ( ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, and ListResolverQueryLogConfigAssociations), an optional specification to return a subset of objects.

    To filter objects, such as Resolver endpoints or Resolver rules, you specify Name and Values. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

    • Name (string) --

      The name of the parameter that you want to use to filter objects.

      The valid values for Name depend on the action that you're including the filter in, ListResolverEndpoints, ListResolverRules, ListResolverRuleAssociations, ListResolverQueryLogConfigs, or ListResolverQueryLogConfigAssociations.

      ListResolverEndpoints

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver endpoint.

      • Direction: Whether you want to return inbound or outbound Resolver endpoints. If you specify DIRECTION for Name, specify INBOUND or OUTBOUND for Values.

      • HostVpcId: The ID of the VPC that inbound DNS queries pass through on the way from your network to your VPCs in a region, or the VPC that outbound queries pass through on the way from your VPCs to your network. In a CreateResolverEndpoint request, SubnetId indirectly identifies the VPC. In a GetResolverEndpoint request, the VPC ID for a Resolver endpoint is returned in the HostVPCId element.

      • IpAddressCount: The number of IP addresses that you have associated with the Resolver endpoint.

      • Name: The name of the Resolver endpoint.

      • SecurityGroupIds: The IDs of the VPC security groups that you specified when you created the Resolver endpoint.

      • Status: The status of the Resolver endpoint. If you specify Status for Name, specify one of the following status codes for Values: CREATING, OPERATIONAL, UPDATING, AUTO_RECOVERING, ACTION_NEEDED, or DELETING. For more information, see Status in ResolverEndpoint.

      ListResolverRules

      Valid values for Name include the following:

      • CreatorRequestId: The value that you specified when you created the Resolver rule.

      • DomainName: The domain name for which Resolver is forwarding DNS queries to your network. In the value that you specify for Values, include a trailing dot (.) after the domain name. For example, if the domain name is example.com, specify the following value. Note the "." after com: example.com.

      • Name: The name of the Resolver rule.

      • ResolverEndpointId: The ID of the Resolver endpoint that the Resolver rule is associated with.

      • Status: The status of the Resolver rule. If you specify Status for Name, specify one of the following status codes for Values: COMPLETE, DELETING, UPDATING, or FAILED.

      • Type: The type of the Resolver rule. If you specify TYPE for Name, specify FORWARD or SYSTEM for Values.

      ListResolverRuleAssociations

      Valid values for Name include the following:

      • Name: The name of the Resolver rule association.

      • ResolverRuleId: The ID of the Resolver rule that is associated with one or more VPCs.

      • Status: The status of the Resolver rule association. If you specify Status for Name, specify one of the following status codes for Values: CREATING, COMPLETE, DELETING, or FAILED.

      • VPCId: The ID of the VPC that the Resolver rule is associated with.

      ListResolverQueryLogConfigs

      Valid values for Name include the following:

      • Arn: The ARN for the query logging configuration.

      • AssociationCount: The number of VPCs that are associated with the query logging configuration.

      • CreationTime: The date and time that the query logging configuration was created, in Unix time format and Coordinated Universal Time (UTC).

      • CreatorRequestId: A unique string that identifies the request that created the query logging configuration.

      • Destination: The AWS service that you want to forward query logs to. Valid values include the following:

        • S3

        • CloudWatchLogs

        • KinesisFirehose

      • DestinationArn: The ARN of the location that Resolver is sending query logs to. This value can be the ARN for an S3 bucket, a CloudWatch Logs log group, or a Kinesis Data Firehose delivery stream.

      • Id: The ID of the query logging configuration

      • Name: The name of the query logging configuration

      • OwnerId: The AWS account ID for the account that created the query logging configuration.

      • ShareStatus: An indication of whether the query logging configuration is shared with other AWS accounts, or was shared with the current account by another AWS account. Valid values include: NOT_SHARED, SHARED_WITH_ME, or SHARED_BY_ME.

      • Status: The status of the query logging configuration. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

      ListResolverQueryLogConfigAssociations

      Valid values for Name include the following:

      • CreationTime: The date and time that the VPC was associated with the query logging configuration, in Unix time format and Coordinated Universal Time (UTC).

      • Error: If the value of Status is FAILED, specify the cause: DESTINATION_NOT_FOUND or ACCESS_DENIED.

      • Id: The ID of the query logging association.

      • ResolverQueryLogConfigId: The ID of the query logging configuration that a VPC is associated with.

      • ResourceId: The ID of the Amazon VPC that is associated with the query logging configuration.

      • Status: The status of the query logging association. If you specify Status for Name, specify the applicable status code for Values: CREATING, CREATED, DELETING, or FAILED. For more information, see Status.

    • Values (list) --

      When you're using a List operation and you want the operation to return a subset of objects, such as Resolver endpoints or Resolver rules, the value of the parameter that you want to use to filter objects. For example, to list only inbound Resolver endpoints, specify Direction for Name and specify INBOUND for Values.

      • (string) --

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'MaxResults': 123,
    'ResolverRules': [
        {
            'Id': 'string',
            'CreatorRequestId': 'string',
            'Arn': 'string',
            'DomainName': 'string',
            'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
            'StatusMessage': 'string',
            'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE',
            'Name': 'string',
            'TargetIps': [
                {
                    'Ip': 'string',
                    'Port': 123
                },
            ],
            'ResolverEndpointId': 'string',
            'OwnerId': 'string',
            'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
            'CreationTime': 'string',
            'ModificationTime': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

      If more than MaxResults Resolver rules match the specified criteria, you can submit another ListResolverRules request to get the next group of results. In the next request, specify the value of NextToken from the previous response.

    • MaxResults (integer) --

      The value that you specified for MaxResults in the request.

    • ResolverRules (list) --

      The Resolver rules that were created using the current AWS account and that match the specified filters, if any.

      • (dict) --

        For queries that originate in your VPC, detailed information about a Resolver rule, which specifies how to route DNS queries out of the VPC. The ResolverRule parameter appears in the response to a CreateResolverRule, DeleteResolverRule, GetResolverRule, ListResolverRules, or UpdateResolverRule request.

        • Id (string) --

          The ID that Resolver assigned to the Resolver rule when you created it.

        • CreatorRequestId (string) --

          A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

        • Arn (string) --

          The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

        • DomainName (string) --

          DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

        • Status (string) --

          A code that specifies the current status of the Resolver rule.

        • StatusMessage (string) --

          A detailed description of the status of a Resolver rule.

        • RuleType (string) --

          When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

          When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

          For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

          Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

        • Name (string) --

          The name for the Resolver rule, which you specified when you created the Resolver rule.

        • TargetIps (list) --

          An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

          • (dict) --

            In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

            • Ip (string) --

              One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

            • Port (integer) --

              The port at Ip that you want to forward DNS queries to.

        • ResolverEndpointId (string) --

          The ID of the endpoint that the rule is associated with.

        • OwnerId (string) --

          When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

        • ShareStatus (string) --

          Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

        • CreationTime (string) --

          The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

        • ModificationTime (string) --

          The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

UpdateResolverRule (updated) Link ¶
Changes (response)
{'ResolverRule': {'CreationTime': 'string', 'ModificationTime': 'string'}}

Updates settings for a specified Resolver rule. ResolverRuleId is required, and all other parameters are optional. If you don't specify a parameter, it retains its current value.

See also: AWS API Documentation

Request Syntax

client.update_resolver_rule(
    ResolverRuleId='string',
    Config={
        'Name': 'string',
        'TargetIps': [
            {
                'Ip': 'string',
                'Port': 123
            },
        ],
        'ResolverEndpointId': 'string'
    }
)
type ResolverRuleId:

string

param ResolverRuleId:

[REQUIRED]

The ID of the Resolver rule that you want to update.

type Config:

dict

param Config:

[REQUIRED]

The new settings for the Resolver rule.

  • Name (string) --

    The new name for the Resolver rule. The name that you specify appears in the Resolver dashboard in the Route 53 console.

  • TargetIps (list) --

    For DNS queries that originate in your VPC, the new IP addresses that you want to route outbound DNS queries to.

    • (dict) --

      In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

      • Ip (string) -- [REQUIRED]

        One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

      • Port (integer) --

        The port at Ip that you want to forward DNS queries to.

  • ResolverEndpointId (string) --

    The ID of the new outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in TargetIps.

rtype:

dict

returns:

Response Syntax

{
    'ResolverRule': {
        'Id': 'string',
        'CreatorRequestId': 'string',
        'Arn': 'string',
        'DomainName': 'string',
        'Status': 'COMPLETE'|'DELETING'|'UPDATING'|'FAILED',
        'StatusMessage': 'string',
        'RuleType': 'FORWARD'|'SYSTEM'|'RECURSIVE',
        'Name': 'string',
        'TargetIps': [
            {
                'Ip': 'string',
                'Port': 123
            },
        ],
        'ResolverEndpointId': 'string',
        'OwnerId': 'string',
        'ShareStatus': 'NOT_SHARED'|'SHARED_WITH_ME'|'SHARED_BY_ME',
        'CreationTime': 'string',
        'ModificationTime': 'string'
    }
}

Response Structure

  • (dict) --

    • ResolverRule (dict) --

      The response to an UpdateResolverRule request.

      • Id (string) --

        The ID that Resolver assigned to the Resolver rule when you created it.

      • CreatorRequestId (string) --

        A unique string that you specified when you created the Resolver rule. CreatorRequestId identifies the request and allows failed requests to be retried without the risk of executing the operation twice.

      • Arn (string) --

        The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

      • DomainName (string) --

        DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple Resolver rules (example.com and www.example.com), the query is routed using the Resolver rule that contains the most specific domain name (www.example.com).

      • Status (string) --

        A code that specifies the current status of the Resolver rule.

      • StatusMessage (string) --

        A detailed description of the status of a Resolver rule.

      • RuleType (string) --

        When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.

        When you have a forwarding rule to forward DNS queries for a domain to your network and you want Resolver to process queries for a subdomain of that domain, specify SYSTEM.

        For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify FORWARD for RuleType. To then have Resolver process queries for apex.example.com, you create a rule and specify SYSTEM for RuleType.

        Currently, only Resolver can create rules that have a value of RECURSIVE for RuleType.

      • Name (string) --

        The name for the Resolver rule, which you specified when you created the Resolver rule.

      • TargetIps (list) --

        An array that contains the IP addresses and ports that an outbound endpoint forwards DNS queries to. Typically, these are the IP addresses of DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.

        • (dict) --

          In a CreateResolverRule request, an array of the IPs that you want to forward DNS queries to.

          • Ip (string) --

            One IP address that you want to forward DNS queries to. You can specify only IPv4 addresses.

          • Port (integer) --

            The port at Ip that you want to forward DNS queries to.

      • ResolverEndpointId (string) --

        The ID of the endpoint that the rule is associated with.

      • OwnerId (string) --

        When a rule is shared with another AWS account, the account ID of the account that the rule is shared with.

      • ShareStatus (string) --

        Whether the rules is shared and, if so, whether the current account is sharing the rule with another account, or another account is sharing the rule with the current account.

      • CreationTime (string) --

        The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

      • ModificationTime (string) --

        The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).