openapi: 3.0.0 info: version: '2018-04-01' x-release: v4 title: 'Amazon Route 53 Resolver #X Amz Target=Route53Resolver.AssociateFirewallRuleGroup #X Amz Target=Route53Resolver.AssociateFirewallRuleGroup #X Amz Target=Route53Resolver.CreateFirewallRule API' description:
When you create a VPC using Amazon VPC, you automatically get DNS resolution within the VPC from Route 53 Resolver. By default, Resolver answers DNS queries for VPC domain names such as domain names for EC2 instances or Elastic Load Balancing load balancers. Resolver performs recursive lookups against public name servers for all other domain names.
You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:
Forward DNS queries from resolvers on your network to Route 53 Resolver
DNS resolvers on your network can forward DNS queries to Resolver in a specified VPC. This allows your DNS resolvers to easily resolve domain names for Amazon Web Services resources such as EC2 instances or records in a Route 53 private hosted zone. For more information, see How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver in the Amazon Route 53 Developer Guide.
Conditionally forward queries from a VPC to resolvers on your network
You can configure Resolver to forward queries that it receives from EC2 instances in your VPCs to DNS resolvers on your network. To forward selected queries, you create Resolver rules that specify the domain names for the DNS queries that you want to forward (such as example.com), and the IP addresses of the DNS resolvers on your network that you want to forward the queries to. If a query matches multiple rules (example.com, acme.example.com), Resolver chooses the rule with the most specific match (acme.example.com) and forwards the query to the IP addresses that you specified in that rule. For more information, see How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network in the Amazon Route 53 Developer Guide.
Like Amazon VPC, Resolver is Regional. In each Region where you have VPCs, you can choose whether to forward queries from your VPCs to your network (outbound queries), from your network to your VPCs (inbound queries), or both.
x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: route53resolver x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/route53resolver-2018-04-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://route53resolver.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Route53Resolver multi-region endpoint - url: https://route53resolver.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Route53Resolver multi-region endpoint - url: http://route53resolver.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Route53Resolver endpoint for China (Beijing) and China (Ningxia) - url: https://route53resolver.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Route53Resolver endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=Route53Resolver.CreateFirewallRule' paths: /#X-Amz-Target=Route53Resolver.CreateFirewallRule: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: CreateFirewallRule description: Creates a single DNS Firewall rule in the specified rule group, using the specified domain list. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateFirewallRuleResponse' '480': description: ResourceNotFoundException content: application/json: schema: $ref: '#/components/schemas/ResourceNotFoundException' '481': description: ValidationException content: application/json: schema: $ref: '#/components/schemas/ValidationException' '482': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' '483': description: AccessDeniedException content: application/json: schema: $ref: '#/components/schemas/AccessDeniedException' '484': description: InternalServiceErrorException content: application/json: schema: $ref: '#/components/schemas/InternalServiceErrorException' '485': description: ThrottlingException content: application/json: schema: $ref: '#/components/schemas/ThrottlingException' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateFirewallRuleRequest' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - Route53Resolver.CreateFirewallRule tags: - '#X Amz Target=Route53Resolver.CreateFirewallRule' components: schemas: ResourceNotFoundException: {} Priority: type: integer ThrottlingException: {} CreateFirewallRuleResponse: type: object properties: FirewallRule: allOf: - $ref: '#/components/schemas/FirewallRule' - description: 'The firewall rule that you just created. ' ResourceId: type: string minLength: 1 maxLength: 64 InternalServiceErrorException: {} LimitExceededException: {} BlockOverrideTtl: type: integer minimum: 0 maximum: 604800 BlockResponse: type: string enum: - NODATA - NXDOMAIN - OVERRIDE Unsigned: type: integer AccessDeniedException: {} ValidationException: {} CreateFirewallRuleRequest: type: object required: - CreatorRequestId - FirewallRuleGroupId - FirewallDomainListId - Priority - Action - Name title: CreateFirewallRuleRequest properties: CreatorRequestId: allOf: - $ref: '#/components/schemas/CreatorRequestId' - description: 'A unique string that identifies the request and that allows you to retry failed requests without the risk of running the operation twice.CreatorRequestId can be any unique string, for example, a date/time stamp. '
FirewallRuleGroupId:
allOf:
- $ref: '#/components/schemas/ResourceId'
- description: 'The unique identifier of the firewall rule group where you want to create the rule. '
FirewallDomainListId:
allOf:
- $ref: '#/components/schemas/ResourceId'
- description: 'The ID of the domain list that you want to use in the rule. '
Priority:
allOf:
- $ref: '#/components/schemas/Priority'
- description: The setting that determines the processing order of the rule in the rule group. DNS Firewall processes the rules in a rule group by order of priority, starting from the lowest setting.
You must specify a unique priority for each rule in a rule group. To make it easier to insert rules later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for the rules in a rule group at any time.
Action: allOf: - $ref: '#/components/schemas/Action' - description:The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:
ALLOW - Permit the request to go through.
ALERT - Permit the request and send metrics and logs to Cloud Watch.
BLOCK - Disallow the request. This option requires additional details in the rule's BlockResponse.
The way that you want DNS Firewall to block the request, used with the rule action setting BLOCK.
NODATA - Respond indicating that the query was successful, but no response is available for it.
NXDOMAIN - Respond indicating that the domain name that's in the query doesn't exist.
OVERRIDE - Provide a custom override in the response. This option requires custom handling details in the rule's BlockOverride* settings.
This setting is required if the rule action setting is BLOCK.
The custom DNS record to send back in response to the query. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
This setting is required if the BlockResponse setting is OVERRIDE.
The action that DNS Firewall should take on a DNS query when it matches one of the domains in the rule's domain list:
ALLOW - Permit the request to go through.
ALERT - Permit the request to go through but send an alert to the logs.
BLOCK - Disallow the request. If this is specified, additional handling details are provided in the rule's BlockResponse setting.
The way that you want DNS Firewall to block the request. Used for the rule action setting BLOCK.
NODATA - Respond indicating that the query was successful, but no response is available for it.
NXDOMAIN - Respond indicating that the domain name that's in the query doesn't exist.
OVERRIDE - Provide a custom override in the response. This option requires custom handling details in the rule's BlockOverride* settings.
BLOCK with a BlockResponse setting of OVERRIDE.
BlockOverrideDnsType:
allOf:
- $ref: '#/components/schemas/BlockOverrideDnsType'
- description: The DNS record's type. This determines the format of the record value that you provided in BlockOverrideDomain. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
BlockOverrideTtl:
allOf:
- $ref: '#/components/schemas/Unsigned'
- description: The recommended amount of time, in seconds, for the DNS resolver or web browser to cache the provided override record. Used for the rule action BLOCK with a BlockResponse setting of OVERRIDE.
CreatorRequestId:
allOf:
- $ref: '#/components/schemas/CreatorRequestId'
- description: 'A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of executing the operation twice. This can be any unique string, for example, a timestamp. '
CreationTime:
allOf:
- $ref: '#/components/schemas/Rfc3339TimeString'
- description: 'The date and time that the rule was created, in Unix time format and Coordinated Universal Time (UTC). '
ModificationTime:
allOf:
- $ref: '#/components/schemas/Rfc3339TimeString'
- description: The date and time that the rule was last modified, in Unix time format and Coordinated Universal Time (UTC).
description: A single firewall rule in a rule group.
Name:
type: string
pattern: (?!^[0-9]+$)([a-zA-Z0-9\-_' ']+)
maxLength: 64
BlockOverrideDnsType:
type: string
enum:
- CNAME
Rfc3339TimeString:
type: string
minLength: 20
maxLength: 40
CreatorRequestId:
type: string
minLength: 1
maxLength: 255
BlockOverrideDomain:
type: string
minLength: 1
maxLength: 255
Action:
type: string
enum:
- ALLOW
- BLOCK
- ALERT
parameters:
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
securitySchemes:
hmac:
type: apiKey
name: Authorization
in: header
description: Amazon Signature authorization v4
x-amazon-apigateway-authtype: awsSigv4
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/route53resolver/
x-hasEquivalentPaths: true