The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::Route53Resolver - Perl Interface to AWS Amazon Route 53 Resolver

SYNOPSIS

  use Paws;

  my $obj = Paws->service('Route53Resolver');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Here's how you set up to query an Amazon Route 53 private hosted zone from your network:

  1. Connect your network to a VPC using AWS Direct Connect or a VPN.

  2. Run the following AWS CLI command to create a Resolver endpoint:

    create-resolver-endpoint --name [endpoint_name] --direction INBOUND --creator-request-id [unique_string] --security-group-ids [security_group_with_inbound_rules] --ip-addresses SubnetId=[subnet_id] SubnetId=[subnet_id_in_different_AZ]

    Note the resolver endpoint ID that appears in the response. You'll use it in step 3.

  3. Get the IP addresses for the Resolver endpoints:

    get-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id]

  4. In your network configuration, define the IP addresses that you got in step 3 as DNS servers.

    You can now query instance names in your VPCs and the names of records in your private hosted zone.

You can also perform the following operations using the AWS CLI:

  • list-resolver-endpoints: List all endpoints. The syntax includes options for pagination and filtering.

  • update-resolver-endpoints: Add IP addresses to an endpoint or remove IP addresses from an endpoint.

To delete an endpoint, use the following AWS CLI command:

delete-resolver-endpoint --resolver-endpoint-id [resolver_endpoint_id]

For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/route53resolver-2018-04-01

METHODS

AssociateResolverEndpointIpAddress

IpAddress => Paws::Route53Resolver::IpAddressUpdate
ResolverEndpointId => Str

Each argument is described in detail in: Paws::Route53Resolver::AssociateResolverEndpointIpAddress

Returns: a Paws::Route53Resolver::AssociateResolverEndpointIpAddressResponse instance

Adds IP addresses to an inbound or an outbound resolver endpoint. If you want to adding more than one IP address, submit one AssociateResolverEndpointIpAddress request for each IP address.

To remove an IP address from an endpoint, see DisassociateResolverEndpointIpAddress.

AssociateResolverRule

ResolverRuleId => Str
VPCId => Str
[Name => Str]

Each argument is described in detail in: Paws::Route53Resolver::AssociateResolverRule

Returns: a Paws::Route53Resolver::AssociateResolverRuleResponse instance

Associates a resolver rule with a VPC. When you associate a rule with a VPC, Resolver forwards all DNS queries for the domain name that is specified in the rule and that originate in the VPC. The queries are forwarded to the IP addresses for the DNS resolvers that are specified in the rule. For more information about rules, see CreateResolverRule.

CreateResolverEndpoint

CreatorRequestId => Str
Direction => Str
IpAddresses => ArrayRef[Paws::Route53Resolver::IpAddressRequest]
SecurityGroupIds => ArrayRef[Str|Undef]
[Name => Str]
[Tags => ArrayRef[Paws::Route53Resolver::Tag]]

Each argument is described in detail in: Paws::Route53Resolver::CreateResolverEndpoint

Returns: a Paws::Route53Resolver::CreateResolverEndpointResponse instance

Creates a resolver endpoint. There are two types of resolver endpoints, inbound and outbound:

  • An inbound resolver endpoint forwards DNS queries to the DNS service for a VPC from your network or another VPC.

  • An outbound resolver endpoint forwards DNS queries from the DNS service for a VPC to your network or another VPC.

CreateResolverRule

CreatorRequestId => Str
DomainName => Str
RuleType => Str
[Name => Str]
[ResolverEndpointId => Str]
[Tags => ArrayRef[Paws::Route53Resolver::Tag]]
[TargetIps => ArrayRef[Paws::Route53Resolver::TargetAddress]]

Each argument is described in detail in: Paws::Route53Resolver::CreateResolverRule

Returns: a Paws::Route53Resolver::CreateResolverRuleResponse instance

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.

DeleteResolverEndpoint

ResolverEndpointId => Str

Each argument is described in detail in: Paws::Route53Resolver::DeleteResolverEndpoint

Returns: a Paws::Route53Resolver::DeleteResolverEndpointResponse instance

Deletes a resolver endpoint. The effect of deleting a resolver endpoint depends on whether it's an inbound or an outbound resolver endpoint:

  • Inbound: DNS queries from your network or another VPC are no longer routed to the DNS service for the specified VPC.

  • Outbound: DNS queries from a VPC are no longer routed to your network or to another VPC.

DeleteResolverRule

ResolverRuleId => Str

Each argument is described in detail in: Paws::Route53Resolver::DeleteResolverRule

Returns: a Paws::Route53Resolver::DeleteResolverRuleResponse instance

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 infomation, see DisassociateResolverRule.

DisassociateResolverEndpointIpAddress

IpAddress => Paws::Route53Resolver::IpAddressUpdate
ResolverEndpointId => Str

Each argument is described in detail in: Paws::Route53Resolver::DisassociateResolverEndpointIpAddress

Returns: a Paws::Route53Resolver::DisassociateResolverEndpointIpAddressResponse instance

Removes IP addresses from an inbound or an outbound resolver endpoint. If you want to remove more than one IP address, submit one DisassociateResolverEndpointIpAddress request for each IP address.

To add an IP address to an endpoint, see AssociateResolverEndpointIpAddress.

DisassociateResolverRule

ResolverRuleId => Str
VPCId => Str

Each argument is described in detail in: Paws::Route53Resolver::DisassociateResolverRule

Returns: a Paws::Route53Resolver::DisassociateResolverRuleResponse instance

Removes the association between a specified resolver rule and a specified VPC.

If you disassociate a resolver rule from a VPC, Resolver stops forwarding DNS queries for the domain name that you specified in the resolver rule.

GetResolverEndpoint

ResolverEndpointId => Str

Each argument is described in detail in: Paws::Route53Resolver::GetResolverEndpoint

Returns: a Paws::Route53Resolver::GetResolverEndpointResponse instance

Gets information about a specified resolver endpoint, such as whether it's an inbound or an outbound resolver endpoint, and the current status of the endpoint.

GetResolverRule

ResolverRuleId => Str

Each argument is described in detail in: Paws::Route53Resolver::GetResolverRule

Returns: a Paws::Route53Resolver::GetResolverRuleResponse instance

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.

GetResolverRuleAssociation

ResolverRuleAssociationId => Str

Each argument is described in detail in: Paws::Route53Resolver::GetResolverRuleAssociation

Returns: a Paws::Route53Resolver::GetResolverRuleAssociationResponse instance

Gets information about an association between a specified resolver rule and a VPC. You associate a resolver rule and a VPC using AssociateResolverRule.

GetResolverRulePolicy

Arn => Str

Each argument is described in detail in: Paws::Route53Resolver::GetResolverRulePolicy

Returns: a Paws::Route53Resolver::GetResolverRulePolicyResponse instance

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

ListResolverEndpointIpAddresses

ResolverEndpointId => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Route53Resolver::ListResolverEndpointIpAddresses

Returns: a Paws::Route53Resolver::ListResolverEndpointIpAddressesResponse instance

Gets the IP addresses for a specified resolver endpoint.

ListResolverEndpoints

[Filters => ArrayRef[Paws::Route53Resolver::Filter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Route53Resolver::ListResolverEndpoints

Returns: a Paws::Route53Resolver::ListResolverEndpointsResponse instance

Lists all the resolver endpoints that were created using the current AWS account.

ListResolverRuleAssociations

[Filters => ArrayRef[Paws::Route53Resolver::Filter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Route53Resolver::ListResolverRuleAssociations

Returns: a Paws::Route53Resolver::ListResolverRuleAssociationsResponse instance

Lists the associations that were created between resolver rules and VPCs using the current AWS account.

ListResolverRules

[Filters => ArrayRef[Paws::Route53Resolver::Filter]]
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Route53Resolver::ListResolverRules

Returns: a Paws::Route53Resolver::ListResolverRulesResponse instance

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

ListTagsForResource

ResourceArn => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Route53Resolver::ListTagsForResource

Returns: a Paws::Route53Resolver::ListTagsForResourceResponse instance

Lists the tags that you associated with the specified resource.

PutResolverRulePolicy

Arn => Str
ResolverRulePolicy => Str

Each argument is described in detail in: Paws::Route53Resolver::PutResolverRulePolicy

Returns: a Paws::Route53Resolver::PutResolverRulePolicyResponse instance

Specifies the Resolver operations and resources that you want to allow another AWS account to be able to use.

TagResource

ResourceArn => Str
Tags => ArrayRef[Paws::Route53Resolver::Tag]

Each argument is described in detail in: Paws::Route53Resolver::TagResource

Returns: a Paws::Route53Resolver::TagResourceResponse instance

Adds one or more tags to a specified resource.

UntagResource

ResourceArn => Str
TagKeys => ArrayRef[Str|Undef]

Each argument is described in detail in: Paws::Route53Resolver::UntagResource

Returns: a Paws::Route53Resolver::UntagResourceResponse instance

Removes one or more tags from a specified resource.

UpdateResolverEndpoint

ResolverEndpointId => Str
[Name => Str]

Each argument is described in detail in: Paws::Route53Resolver::UpdateResolverEndpoint

Returns: a Paws::Route53Resolver::UpdateResolverEndpointResponse instance

Updates the name of an inbound or an outbound resolver endpoint.

UpdateResolverRule

Config => Paws::Route53Resolver::ResolverRuleConfig
ResolverRuleId => Str

Each argument is described in detail in: Paws::Route53Resolver::UpdateResolverRule

Returns: a Paws::Route53Resolver::UpdateResolverRuleResponse instance

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.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

ListAllTagsForResource(sub { },ResourceArn => Str, [MaxResults => Int, NextToken => Str])

ListAllTagsForResource(ResourceArn => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Tags, passing the object as the first parameter, and the string 'Tags' as the second parameter 

If not, it will return a a Paws::Route53Resolver::ListTagsForResourceResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues