aws_sdk_cloudsearch/operation/create_domain/_create_domain_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Container for the parameters to the <code><code>CreateDomain</code></code> operation. Specifies a name for the new search domain.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateDomainInput {
7 /// <p>A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.</p>
8 pub domain_name: ::std::option::Option<::std::string::String>,
9}
10impl CreateDomainInput {
11 /// <p>A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.</p>
12 pub fn domain_name(&self) -> ::std::option::Option<&str> {
13 self.domain_name.as_deref()
14 }
15}
16impl CreateDomainInput {
17 /// Creates a new builder-style object to manufacture [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
18 pub fn builder() -> crate::operation::create_domain::builders::CreateDomainInputBuilder {
19 crate::operation::create_domain::builders::CreateDomainInputBuilder::default()
20 }
21}
22
23/// A builder for [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
24#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
25#[non_exhaustive]
26pub struct CreateDomainInputBuilder {
27 pub(crate) domain_name: ::std::option::Option<::std::string::String>,
28}
29impl CreateDomainInputBuilder {
30 /// <p>A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.</p>
31 /// This field is required.
32 pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
33 self.domain_name = ::std::option::Option::Some(input.into());
34 self
35 }
36 /// <p>A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.</p>
37 pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
38 self.domain_name = input;
39 self
40 }
41 /// <p>A name for the domain you are creating. Allowed characters are a-z (lower-case letters), 0-9, and hyphen (-). Domain names must start with a letter or number and be at least 3 and no more than 28 characters long.</p>
42 pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
43 &self.domain_name
44 }
45 /// Consumes the builder and constructs a [`CreateDomainInput`](crate::operation::create_domain::CreateDomainInput).
46 pub fn build(
47 self,
48 ) -> ::std::result::Result<crate::operation::create_domain::CreateDomainInput, ::aws_smithy_types::error::operation::BuildError> {
49 ::std::result::Result::Ok(crate::operation::create_domain::CreateDomainInput {
50 domain_name: self.domain_name,
51 })
52 }
53}