amazonka-route53resolver-2.0: Amazon Route 53 Resolver SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.Route53Resolver.Types.ResolverRule

Description

 
Synopsis

Documentation

data ResolverRule Source #

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.

See: newResolverRule smart constructor.

Constructors

ResolverRule' 

Fields

  • arn :: Maybe Text

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

  • creationTime :: Maybe Text

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

  • creatorRequestId :: Maybe Text

    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 running the operation twice.

  • domainName :: Maybe Text

    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).

  • id :: Maybe Text

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

  • modificationTime :: Maybe Text

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

  • name :: Maybe Text

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

  • ownerId :: Maybe Text

    When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

  • resolverEndpointId :: Maybe Text

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

  • ruleType :: Maybe RuleTypeOption

    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.

  • shareStatus :: Maybe ShareStatus

    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.

  • status :: Maybe ResolverRuleStatus

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

  • statusMessage :: Maybe Text

    A detailed description of the status of a Resolver rule.

  • targetIps :: Maybe (NonEmpty TargetAddress)

    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.

Instances

Instances details
FromJSON ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

Generic ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

Associated Types

type Rep ResolverRule :: Type -> Type #

Read ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

Show ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

NFData ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

Methods

rnf :: ResolverRule -> () #

Eq ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

Hashable ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

type Rep ResolverRule Source # 
Instance details

Defined in Amazonka.Route53Resolver.Types.ResolverRule

type Rep ResolverRule = D1 ('MetaData "ResolverRule" "Amazonka.Route53Resolver.Types.ResolverRule" "amazonka-route53resolver-2.0-GFukx1WIgCPEXMh1BiYlp6" 'False) (C1 ('MetaCons "ResolverRule'" 'PrefixI 'True) (((S1 ('MetaSel ('Just "arn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "creationTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "creatorRequestId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: ((S1 ('MetaSel ('Just "domainName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "id") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "modificationTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))))) :*: ((S1 ('MetaSel ('Just "ownerId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "resolverEndpointId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "ruleType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe RuleTypeOption)))) :*: ((S1 ('MetaSel ('Just "shareStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ShareStatus)) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ResolverRuleStatus))) :*: (S1 ('MetaSel ('Just "statusMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "targetIps") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (NonEmpty TargetAddress))))))))

newResolverRule :: ResolverRule Source #

Create a value of ResolverRule with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:arn:ResolverRule', resolverRule_arn - The ARN (Amazon Resource Name) for the Resolver rule specified by Id.

$sel:creationTime:ResolverRule', resolverRule_creationTime - The date and time that the Resolver rule was created, in Unix time format and Coordinated Universal Time (UTC).

$sel:creatorRequestId:ResolverRule', resolverRule_creatorRequestId - 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 running the operation twice.

$sel:domainName:ResolverRule', resolverRule_domainName - 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).

$sel:id:ResolverRule', resolverRule_id - The ID that Resolver assigned to the Resolver rule when you created it.

$sel:modificationTime:ResolverRule', resolverRule_modificationTime - The date and time that the Resolver rule was last updated, in Unix time format and Coordinated Universal Time (UTC).

$sel:name:ResolverRule', resolverRule_name - The name for the Resolver rule, which you specified when you created the Resolver rule.

$sel:ownerId:ResolverRule', resolverRule_ownerId - When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

$sel:resolverEndpointId:ResolverRule', resolverRule_resolverEndpointId - The ID of the endpoint that the rule is associated with.

$sel:ruleType:ResolverRule', resolverRule_ruleType - 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.

$sel:shareStatus:ResolverRule', resolverRule_shareStatus - 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.

$sel:status:ResolverRule', resolverRule_status - A code that specifies the current status of the Resolver rule.

$sel:statusMessage:ResolverRule', resolverRule_statusMessage - A detailed description of the status of a Resolver rule.

$sel:targetIps:ResolverRule', resolverRule_targetIps - 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.

resolverRule_arn :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_creationTime :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_creatorRequestId :: Lens' ResolverRule (Maybe Text) Source #

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 running the operation twice.

resolverRule_domainName :: Lens' ResolverRule (Maybe Text) Source #

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).

resolverRule_id :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_modificationTime :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_name :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_ownerId :: Lens' ResolverRule (Maybe Text) Source #

When a rule is shared with another Amazon Web Services account, the account ID of the account that the rule is shared with.

resolverRule_resolverEndpointId :: Lens' ResolverRule (Maybe Text) Source #

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

resolverRule_ruleType :: Lens' ResolverRule (Maybe RuleTypeOption) Source #

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.

resolverRule_shareStatus :: Lens' ResolverRule (Maybe ShareStatus) Source #

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.

resolverRule_status :: Lens' ResolverRule (Maybe ResolverRuleStatus) Source #

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

resolverRule_statusMessage :: Lens' ResolverRule (Maybe Text) Source #

A detailed description of the status of a Resolver rule.

resolverRule_targetIps :: Lens' ResolverRule (Maybe (NonEmpty TargetAddress)) Source #

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.