import { _TargetAddress, _UnmarshalledTargetAddress } from "./_TargetAddress"; /** *

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.

*/ export interface _ResolverRule { /** *

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

*/ Id?: string; /** *

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

*/ CreatorRequestId?: string; /** *

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

*/ Arn?: 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).

*/ DomainName?: string; /** *

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

*/ Status?: "COMPLETE" | "DELETING" | "UPDATING" | "FAILED" | string; /** *

A detailed description of the status of a resolver rule.

*/ StatusMessage?: string; /** *

This value is always FORWARD. Other resolver rule types aren't supported.

*/ RuleType?: "FORWARD" | "SYSTEM" | "RECURSIVE" | string; /** *

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

*/ Name?: string; /** *

An array that contains the IP addresses and ports that you want to forward

*/ TargetIps?: Array<_TargetAddress> | Iterable<_TargetAddress>; /** *

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

*/ ResolverEndpointId?: string; /** *

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

*/ OwnerId?: 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.

*/ ShareStatus?: "NOT_SHARED" | "SHARED_WITH_ME" | "SHARED_BY_ME" | string; } export interface _UnmarshalledResolverRule extends _ResolverRule { /** *

An array that contains the IP addresses and ports that you want to forward

*/ TargetIps?: Array<_UnmarshalledTargetAddress>; }