aws_sdk_route53resolver/client/create_resolver_rule.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3 /// Constructs a fluent builder for the [`CreateResolverRule`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`creator_request_id(impl Into<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::creator_request_id) / [`set_creator_request_id(Option<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_creator_request_id):<br>required: **true**<br><p>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.</p><br>
7 /// - [`name(impl Into<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_name):<br>required: **false**<br><p>A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.</p><br>
8 /// - [`rule_type(RuleTypeOption)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::rule_type) / [`set_rule_type(Option<RuleTypeOption>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_rule_type):<br>required: **true**<br><p>When you want to forward DNS queries for specified domain name to resolvers on your network, specify <code>FORWARD</code> or <code>DELEGATE</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><br>
9 /// - [`domain_name(impl Into<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_domain_name):<br>required: **false**<br><p>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).</p><br>
10 /// - [`target_ips(TargetAddress)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::target_ips) / [`set_target_ips(Option<Vec::<TargetAddress>>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_target_ips):<br>required: **false**<br><p>The IPs that you want Resolver to forward DNS queries to. You can specify either Ipv4 or Ipv6 addresses but not both in the same rule. 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><br>
11 /// - [`resolver_endpoint_id(impl Into<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::resolver_endpoint_id) / [`set_resolver_endpoint_id(Option<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_resolver_endpoint_id):<br>required: **false**<br><p>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>.</p><br>
12 /// - [`tags(Tag)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_tags):<br>required: **false**<br><p>A list of the tag keys and values that you want to associate with the endpoint.</p><br>
13 /// - [`delegation_record(impl Into<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::delegation_record) / [`set_delegation_record(Option<String>)`](crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::set_delegation_record):<br>required: **false**<br><p>DNS queries with the delegation records that match this domain name are forwarded to the resolvers on your network.</p><br>
14 /// - On success, responds with [`CreateResolverRuleOutput`](crate::operation::create_resolver_rule::CreateResolverRuleOutput) with field(s):
15 /// - [`resolver_rule(Option<ResolverRule>)`](crate::operation::create_resolver_rule::CreateResolverRuleOutput::resolver_rule): <p>Information about the <code>CreateResolverRule</code> request, including the status of the request.</p>
16 /// - On failure, responds with [`SdkError<CreateResolverRuleError>`](crate::operation::create_resolver_rule::CreateResolverRuleError)
17 pub fn create_resolver_rule(&self) -> crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder {
18 crate::operation::create_resolver_rule::builders::CreateResolverRuleFluentBuilder::new(self.handle.clone())
19 }
20}