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.CreateResolverRule API'
description: <p>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.</p> <p>You can also configure DNS resolution between your VPC and your network over a Direct Connect or VPN connection:</p> <p> <b>Forward DNS queries from resolvers on your network to Route 53 Resolver</b> </p> <p>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 <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-network-to-vpc">How DNS Resolvers on Your Network Forward DNS Queries to Route 53 Resolver</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> <p> <b>Conditionally forward queries from a VPC to resolvers on your network</b> </p> <p>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 <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html#resolver-overview-forward-vpc-to-network">How Route 53 Resolver Forwards DNS Queries from Your VPCs to Your Network</a> in the <i>Amazon Route 53 Developer Guide</i>.</p> <p>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.</p>
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.CreateResolverRule'
paths:
/#X-Amz-Target=Route53Resolver.CreateResolverRule:
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: CreateResolverRule
description: 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.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CreateResolverRuleResponse'
'480':
description: InvalidParameterException
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidParameterException'
'481':
description: InvalidRequestException
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidRequestException'
'482':
description: LimitExceededException
content:
application/json:
schema:
$ref: '#/components/schemas/LimitExceededException'
'483':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'484':
description: ResourceExistsException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceExistsException'
'485':
description: ResourceUnavailableException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceUnavailableException'
'486':
description: InternalServiceErrorException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServiceErrorException'
'487':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateResolverRuleRequest'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- Route53Resolver.CreateResolverRule
tags:
- '#X Amz Target=Route53Resolver.CreateResolverRule'
components:
schemas:
ResourceNotFoundException: {}
Ipv6:
type: string
minLength: 7
maxLength: 39
Arn:
type: string
minLength: 1
maxLength: 255
TagKey:
type: string
minLength: 1
maxLength: 128
ResourceExistsException: {}
TargetAddress:
type: object
properties:
Ip:
allOf:
- $ref: '#/components/schemas/Ip'
- description: One IPv4 address that you want to forward DNS queries to.
Port:
allOf:
- $ref: '#/components/schemas/Port'
- description: The port at <code>Ip</code> that you want to forward DNS queries to.
Ipv6:
allOf:
- $ref: '#/components/schemas/Ipv6'
- description: ' One IPv6 address that you want to forward DNS queries to. '
description: In a <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html">CreateResolverRule</a> request, an array of the IPs that you want to forward DNS queries to.
ThrottlingException: {}
CreateResolverRuleRequest:
type: object
required:
- CreatorRequestId
- RuleType
- DomainName
title: CreateResolverRuleRequest
properties:
CreatorRequestId:
allOf:
- $ref: '#/components/schemas/CreatorRequestId'
- description: 'A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. <code>CreatorRequestId</code> can be any unique string, for example, a date/time stamp. '
Name:
allOf:
- $ref: '#/components/schemas/Name'
- description: A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.
RuleType:
allOf:
- $ref: '#/components/schemas/RuleTypeOption'
- description: <p>When you want to forward DNS queries for specified domain name to resolvers on your network, specify <code>FORWARD</code>.</p> <p>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 <code>SYSTEM</code>.</p> <p>For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify <code>FORWARD</code> for <code>RuleType</code>. To then have Resolver process queries for apex.example.com, you create a rule and specify <code>SYSTEM</code> for <code>RuleType</code>.</p> <p>Currently, only Resolver can create rules that have a value of <code>RECURSIVE</code> for <code>RuleType</code>.</p>
DomainName:
allOf:
- $ref: '#/components/schemas/DomainName'
- description: DNS queries for this domain name are forwarded to the IP addresses that you specify in <code>TargetIps</code>. 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).
TargetIps:
allOf:
- $ref: '#/components/schemas/TargetList'
- description: <p>The IPs that you want Resolver to forward DNS queries to. You can specify only IPv4 addresses. Separate IP addresses with a space.</p> <p> <code>TargetIps</code> is available only when the value of <code>Rule type</code> is <code>FORWARD</code>.</p>
ResolverEndpointId:
allOf:
- $ref: '#/components/schemas/ResourceId'
- description: The ID of the outbound Resolver endpoint that you want to use to route DNS queries to the IP addresses that you specify in <code>TargetIps</code>.
Tags:
allOf:
- $ref: '#/components/schemas/TagList'
- description: A list of the tag keys and values that you want to associate with the endpoint.
InvalidParameterException: {}
Ip:
type: string
minLength: 7
maxLength: 36
ResourceId:
type: string
minLength: 1
maxLength: 64
InternalServiceErrorException: {}
InvalidRequestException: {}
ResolverRuleStatus:
type: string
enum:
- COMPLETE
- DELETING
- UPDATING
- FAILED
LimitExceededException: {}
StatusMessage:
type: string
maxLength: 255
AccountId:
type: string
minLength: 12
maxLength: 32
ResourceUnavailableException: {}
Port:
type: integer
minimum: 0
maximum: 65535
RuleTypeOption:
type: string
enum:
- FORWARD
- SYSTEM
- RECURSIVE
DomainName:
type: string
minLength: 1
maxLength: 256
Tag:
type: object
required:
- Key
- Value
properties:
Key:
allOf:
- $ref: '#/components/schemas/TagKey'
- description: 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 <code>Key</code> might be <code>account-id</code>.
Value:
allOf:
- $ref: '#/components/schemas/TagValue'
- description: The value for the tag. For example, if <code>Key</code> is <code>account-id</code>, then <code>Value</code> might be the ID of the customer account that you're creating the resource for.
description: One tag that you want to add to the specified resource. A tag consists of a <code>Key</code> (a name for the tag) and a <code>Value</code>.
ShareStatus:
type: string
enum:
- NOT_SHARED
- SHARED_WITH_ME
- SHARED_BY_ME
CreateResolverRuleResponse:
type: object
properties:
ResolverRule:
allOf:
- $ref: '#/components/schemas/ResolverRule'
- description: Information about the <code>CreateResolverRule</code> request, including the status of the request.
TagValue:
type: string
minLength: 0
maxLength: 256
Name:
type: string
pattern: (?!^[0-9]+$)([a-zA-Z0-9\-_' ']+)
maxLength: 64
TagList:
type: array
items:
$ref: '#/components/schemas/Tag'
maxItems: 200
Rfc3339TimeString:
type: string
minLength: 20
maxLength: 40
CreatorRequestId:
type: string
minLength: 1
maxLength: 255
ResolverRule:
type: object
properties:
Id:
allOf:
- $ref: '#/components/schemas/ResourceId'
- description: The ID that Resolver assigned to the Resolver rule when you created it.
CreatorRequestId:
allOf:
- $ref: '#/components/schemas/CreatorRequestId'
- description: 'A unique string that you specified when you created the Resolver rule. <code>CreatorRequestId</code> identifies the request and allows failed requests to be retried without the risk of running the operation twice. '
Arn:
allOf:
- $ref: '#/components/schemas/Arn'
- description: The ARN (Amazon Resource Name) for the Resolver rule specified by <code>Id</code>.
DomainName:
allOf:
- $ref: '#/components/schemas/DomainName'
- description: DNS queries for this domain name are forwarded to the IP addresses that are specified in <code>TargetIps</code>. 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:
allOf:
- $ref: '#/components/schemas/ResolverRuleStatus'
- description: A code that specifies the current status of the Resolver rule.
StatusMessage:
allOf:
- $ref: '#/components/schemas/StatusMessage'
- description: A detailed description of the status of a Resolver rule.
RuleType:
allOf:
- $ref: '#/components/schemas/RuleTypeOption'
- description: <p>When you want to forward DNS queries for specified domain name to resolvers on your network, specify <code>FORWARD</code>.</p> <p>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 <code>SYSTEM</code>.</p> <p>For example, to forward DNS queries for example.com to resolvers on your network, you create a rule and specify <code>FORWARD</code> for <code>RuleType</code>. To then have Resolver process queries for apex.example.com, you create a rule and specify <code>SYSTEM</code> for <code>RuleType</code>.</p> <p>Currently, only Resolver can create rules that have a value of <code>RECURSIVE</code> for <code>RuleType</code>.</p>
Name:
allOf:
- $ref: '#/components/schemas/Name'
- description: The name for the Resolver rule, which you specified when you created the Resolver rule.
TargetIps:
allOf:
- $ref: '#/components/schemas/TargetList'
- description: 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.
ResolverEndpointId:
allOf:
- $ref: '#/components/schemas/ResourceId'
- description: The ID of the endpoint that the rule is associated with.
OwnerId:
allOf:
- $ref: '#/components/schemas/AccountId'
- description: When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.
ShareStatus:
allOf:
- $ref: '#/components/schemas/ShareStatus'
- description: Whether the rule 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:
allOf:
- $ref: '#/components/schemas/Rfc3339TimeString'
- description: The date and time that the Resolver 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 Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).
description: 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 <code>ResolverRule</code> parameter appears in the response to a <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_CreateResolverRule.html">CreateResolverRule</a>, <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_DeleteResolverRule.html">DeleteResolverRule</a>, <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_GetResolverRule.html">GetResolverRule</a>, <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListResolverRules.html">ListResolverRules</a>, or <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateResolverRule.html">UpdateResolverRule</a> request.
TargetList:
type: array
items:
$ref: '#/components/schemas/TargetAddress'
minItems: 1
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