/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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
* Also:
AWS
* API Reference
The ID that Resolver assigned to the resolver rule when you created it.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline ResolverRule& WithId(const Aws::String& value) { SetId(value); return *this;} /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline ResolverRule& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *The ID that Resolver assigned to the resolver rule when you created it.
*/ inline ResolverRule& WithId(const char* value) { SetId(value); return *this;} /** *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.
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.
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.
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.
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.
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.
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.
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.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
The ARN (Amazon Resource Name) for the resolver rule specified by
* Id.
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).
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).
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).
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).
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).
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).
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).
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).
A code that specifies the current status of the resolver rule.
*/ inline const ResolverRuleStatus& GetStatus() const{ return m_status; } /** *A code that specifies the current status of the resolver rule.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *A code that specifies the current status of the resolver rule.
*/ inline void SetStatus(const ResolverRuleStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *A code that specifies the current status of the resolver rule.
*/ inline void SetStatus(ResolverRuleStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *A code that specifies the current status of the resolver rule.
*/ inline ResolverRule& WithStatus(const ResolverRuleStatus& value) { SetStatus(value); return *this;} /** *A code that specifies the current status of the resolver rule.
*/ inline ResolverRule& WithStatus(ResolverRuleStatus&& value) { SetStatus(std::move(value)); return *this;} /** *A detailed description of the status of a resolver rule.
*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *A detailed description of the status of a resolver rule.
*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *A detailed description of the status of a resolver rule.
*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *A detailed description of the status of a resolver rule.
*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *A detailed description of the status of a resolver rule.
*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *A detailed description of the status of a resolver rule.
*/ inline ResolverRule& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *A detailed description of the status of a resolver rule.
*/ inline ResolverRule& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *A detailed description of the status of a resolver rule.
*/ inline ResolverRule& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *This value is always FORWARD. Other resolver rule types aren't
* supported.
This value is always FORWARD. Other resolver rule types aren't
* supported.
This value is always FORWARD. Other resolver rule types aren't
* supported.
This value is always FORWARD. Other resolver rule types aren't
* supported.
This value is always FORWARD. Other resolver rule types aren't
* supported.
This value is always FORWARD. Other resolver rule types aren't
* supported.
The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline const Aws::String& GetName() const{ return m_name; } /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline ResolverRule& WithName(const Aws::String& value) { SetName(value); return *this;} /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline ResolverRule& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *The name for the resolver rule, which you specified when you created the * resolver rule.
*/ inline ResolverRule& WithName(const char* value) { SetName(value); return *this;} /** *An array that contains the IP addresses and ports that you want to forward *
*/ inline const Aws::VectorAn array that contains the IP addresses and ports that you want to forward *
*/ inline bool TargetIpsHasBeenSet() const { return m_targetIpsHasBeenSet; } /** *An array that contains the IP addresses and ports that you want to forward *
*/ inline void SetTargetIps(const Aws::VectorAn array that contains the IP addresses and ports that you want to forward *
*/ inline void SetTargetIps(Aws::VectorAn array that contains the IP addresses and ports that you want to forward *
*/ inline ResolverRule& WithTargetIps(const Aws::VectorAn array that contains the IP addresses and ports that you want to forward *
*/ inline ResolverRule& WithTargetIps(Aws::VectorAn array that contains the IP addresses and ports that you want to forward *
*/ inline ResolverRule& AddTargetIps(const TargetAddress& value) { m_targetIpsHasBeenSet = true; m_targetIps.push_back(value); return *this; } /** *An array that contains the IP addresses and ports that you want to forward *
*/ inline ResolverRule& AddTargetIps(TargetAddress&& value) { m_targetIpsHasBeenSet = true; m_targetIps.push_back(std::move(value)); return *this; } /** *The ID of the endpoint that the rule is associated with.
*/ inline const Aws::String& GetResolverEndpointId() const{ return m_resolverEndpointId; } /** *The ID of the endpoint that the rule is associated with.
*/ inline bool ResolverEndpointIdHasBeenSet() const { return m_resolverEndpointIdHasBeenSet; } /** *The ID of the endpoint that the rule is associated with.
*/ inline void SetResolverEndpointId(const Aws::String& value) { m_resolverEndpointIdHasBeenSet = true; m_resolverEndpointId = value; } /** *The ID of the endpoint that the rule is associated with.
*/ inline void SetResolverEndpointId(Aws::String&& value) { m_resolverEndpointIdHasBeenSet = true; m_resolverEndpointId = std::move(value); } /** *The ID of the endpoint that the rule is associated with.
*/ inline void SetResolverEndpointId(const char* value) { m_resolverEndpointIdHasBeenSet = true; m_resolverEndpointId.assign(value); } /** *The ID of the endpoint that the rule is associated with.
*/ inline ResolverRule& WithResolverEndpointId(const Aws::String& value) { SetResolverEndpointId(value); return *this;} /** *The ID of the endpoint that the rule is associated with.
*/ inline ResolverRule& WithResolverEndpointId(Aws::String&& value) { SetResolverEndpointId(std::move(value)); return *this;} /** *The ID of the endpoint that the rule is associated with.
*/ inline ResolverRule& WithResolverEndpointId(const char* value) { SetResolverEndpointId(value); return *this;} /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline void SetOwnerId(const Aws::String& value) { m_ownerIdHasBeenSet = true; m_ownerId = value; } /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline void SetOwnerId(Aws::String&& value) { m_ownerIdHasBeenSet = true; m_ownerId = std::move(value); } /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline void SetOwnerId(const char* value) { m_ownerIdHasBeenSet = true; m_ownerId.assign(value); } /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline ResolverRule& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline ResolverRule& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *When a rule is shared with another AWS account, the account ID of the account * that the rule is shared with.
*/ inline ResolverRule& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *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.
*/ inline const ShareStatus& GetShareStatus() const{ return m_shareStatus; } /** *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.
*/ inline bool ShareStatusHasBeenSet() const { return m_shareStatusHasBeenSet; } /** *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.
*/ inline void SetShareStatus(const ShareStatus& value) { m_shareStatusHasBeenSet = true; m_shareStatus = value; } /** *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.
*/ inline void SetShareStatus(ShareStatus&& value) { m_shareStatusHasBeenSet = true; m_shareStatus = std::move(value); } /** *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.
*/ inline ResolverRule& WithShareStatus(const ShareStatus& value) { SetShareStatus(value); return *this;} /** *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.
*/ inline ResolverRule& WithShareStatus(ShareStatus&& value) { SetShareStatus(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet; Aws::String m_creatorRequestId; bool m_creatorRequestIdHasBeenSet; Aws::String m_arn; bool m_arnHasBeenSet; Aws::String m_domainName; bool m_domainNameHasBeenSet; ResolverRuleStatus m_status; bool m_statusHasBeenSet; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet; RuleTypeOption m_ruleType; bool m_ruleTypeHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; Aws::Vector