aws_sdk_route53/client/
create_hosted_zone.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 [`CreateHostedZone`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::set_name):<br>required: **true**<br><p>The name of the domain. Specify a fully qualified domain name, for example, <i>www.example.com</i>. The trailing dot is optional; Amazon Route&nbsp;53 assumes that the domain name is fully qualified. This means that Route&nbsp;53 treats <i>www.example.com</i> (without a trailing dot) and <i>www.example.com.</i> (with a trailing dot) as identical.</p> <p>If you're creating a public hosted zone, this is the name you have registered with your DNS registrar. If your domain name is registered with a registrar other than Route&nbsp;53, change the name servers for your domain to the set of <code>NameServers</code> that <code>CreateHostedZone</code> returns in <code>DelegationSet</code>.</p><br>
7    ///   - [`vpc(Vpc)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::vpc) / [`set_vpc(Option<Vpc>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::set_vpc):<br>required: **false**<br><p>(Private hosted zones only) A complex type that contains information about the Amazon VPC that you're associating with this hosted zone.</p> <p>You can specify only one Amazon VPC when you create a private hosted zone. If you are associating a VPC with a hosted zone with this request, the paramaters <code>VPCId</code> and <code>VPCRegion</code> are also required.</p> <p>To associate additional Amazon VPCs with the hosted zone, use <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_AssociateVPCWithHostedZone.html">AssociateVPCWithHostedZone</a> after you create a hosted zone.</p><br>
8    ///   - [`caller_reference(impl Into<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::caller_reference) / [`set_caller_reference(Option<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::set_caller_reference):<br>required: **true**<br><p>A unique string that identifies the request and that allows failed <code>CreateHostedZone</code> requests to be retried without the risk of executing the operation twice. You must use a unique <code>CallerReference</code> string every time you submit a <code>CreateHostedZone</code> request. <code>CallerReference</code> can be any unique string, for example, a date/time stamp.</p><br>
9    ///   - [`hosted_zone_config(HostedZoneConfig)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::hosted_zone_config) / [`set_hosted_zone_config(Option<HostedZoneConfig>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::set_hosted_zone_config):<br>required: **false**<br><p>(Optional) A complex type that contains the following optional values:</p> <ul>  <li>   <p>For public and private hosted zones, an optional comment</p></li>  <li>   <p>For private hosted zones, an optional <code>PrivateZone</code> element</p></li> </ul> <p>If you don't specify a comment or the <code>PrivateZone</code> element, omit <code>HostedZoneConfig</code> and the other elements.</p><br>
10    ///   - [`delegation_set_id(impl Into<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::delegation_set_id) / [`set_delegation_set_id(Option<String>)`](crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::set_delegation_set_id):<br>required: **false**<br><p>If you want to associate a reusable delegation set with this hosted zone, the ID that Amazon Route&nbsp;53 assigned to the reusable delegation set when you created it. For more information about reusable delegation sets, see <a href="https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateReusableDelegationSet.html">CreateReusableDelegationSet</a>.</p> <p>If you are using a reusable delegation set to create a public hosted zone for a subdomain, make sure that the parent hosted zone doesn't use one or more of the same name servers. If you have overlapping nameservers, the operation will cause a <code>ConflictingDomainsExist</code> error.</p><br>
11    /// - On success, responds with [`CreateHostedZoneOutput`](crate::operation::create_hosted_zone::CreateHostedZoneOutput) with field(s):
12    ///   - [`hosted_zone(Option<HostedZone>)`](crate::operation::create_hosted_zone::CreateHostedZoneOutput::hosted_zone): <p>A complex type that contains general information about the hosted zone.</p>
13    ///   - [`change_info(Option<ChangeInfo>)`](crate::operation::create_hosted_zone::CreateHostedZoneOutput::change_info): <p>A complex type that contains information about the <code>CreateHostedZone</code> request.</p>
14    ///   - [`delegation_set(Option<DelegationSet>)`](crate::operation::create_hosted_zone::CreateHostedZoneOutput::delegation_set): <p>A complex type that describes the name servers for this hosted zone.</p>
15    ///   - [`vpc(Option<Vpc>)`](crate::operation::create_hosted_zone::CreateHostedZoneOutput::vpc): <p>A complex type that contains information about an Amazon VPC that you associated with this hosted zone.</p>
16    ///   - [`location(String)`](crate::operation::create_hosted_zone::CreateHostedZoneOutput::location): <p>The unique URL representing the new hosted zone.</p>
17    /// - On failure, responds with [`SdkError<CreateHostedZoneError>`](crate::operation::create_hosted_zone::CreateHostedZoneError)
18    pub fn create_hosted_zone(&self) -> crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder {
19        crate::operation::create_hosted_zone::builders::CreateHostedZoneFluentBuilder::new(self.handle.clone())
20    }
21}