aws_sdk_iot/client/
create_domain_configuration.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 [`CreateDomainConfiguration`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`domain_configuration_name(impl Into<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::domain_configuration_name) / [`set_domain_configuration_name(Option<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_domain_configuration_name):<br>required: **true**<br><p>The name of the domain configuration. This value must be unique to a region.</p><br>
7    ///   - [`domain_name(impl Into<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_domain_name):<br>required: **false**<br><p>The name of the domain.</p><br>
8    ///   - [`server_certificate_arns(impl Into<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::server_certificate_arns) / [`set_server_certificate_arns(Option<Vec::<String>>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_server_certificate_arns):<br>required: **false**<br><p>The ARNs of the certificates that IoT passes to the device during the TLS handshake. Currently you can specify only one certificate ARN. This value is not required for Amazon Web Services-managed domains.</p><br>
9    ///   - [`validation_certificate_arn(impl Into<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::validation_certificate_arn) / [`set_validation_certificate_arn(Option<String>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_validation_certificate_arn):<br>required: **false**<br><p>The certificate used to validate the server certificate and prove domain name ownership. This certificate must be signed by a public certificate authority. This value is not required for Amazon Web Services-managed domains.</p><br>
10    ///   - [`authorizer_config(AuthorizerConfig)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::authorizer_config) / [`set_authorizer_config(Option<AuthorizerConfig>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_authorizer_config):<br>required: **false**<br><p>An object that specifies the authorization service for a domain.</p><br>
11    ///   - [`service_type(ServiceType)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::service_type) / [`set_service_type(Option<ServiceType>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_service_type):<br>required: **false**<br><p>The type of service delivered by the endpoint.</p><note>  <p>Amazon Web Services IoT Core currently supports only the <code>DATA</code> service type.</p> </note><br>
12    ///   - [`tags(Tag)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_tags):<br>required: **false**<br><p>Metadata which can be used to manage the domain configuration.</p><note>  <p>For URI Request parameters use format: ...key1=value1&amp;key2=value2...</p>  <p>For the CLI command-line parameter use format: &amp;&amp;tags "key1=value1&amp;key2=value2..."</p>  <p>For the cli-input-json file use format: "tags": "key1=value1&amp;key2=value2..."</p> </note><br>
13    ///   - [`tls_config(TlsConfig)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::tls_config) / [`set_tls_config(Option<TlsConfig>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_tls_config):<br>required: **false**<br><p>An object that specifies the TLS configuration for a domain.</p><br>
14    ///   - [`server_certificate_config(ServerCertificateConfig)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::server_certificate_config) / [`set_server_certificate_config(Option<ServerCertificateConfig>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_server_certificate_config):<br>required: **false**<br><p>The server certificate configuration.</p><br>
15    ///   - [`authentication_type(AuthenticationType)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::authentication_type) / [`set_authentication_type(Option<AuthenticationType>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_authentication_type):<br>required: **false**<br><p>An enumerated string that specifies the authentication type.</p> <ul>  <li>   <p><code>CUSTOM_AUTH_X509</code> - Use custom authentication and authorization with additional details from the X.509 client certificate.</p></li> </ul> <ul>  <li>   <p><code>CUSTOM_AUTH</code> - Use custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">Custom authentication and authorization</a>.</p></li> </ul> <ul>  <li>   <p><code>AWS_X509</code> - Use X.509 client certificates without custom authentication and authorization. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 client certificates</a>.</p></li> </ul> <ul>  <li>   <p><code>AWS_SIGV4</code> - Use Amazon Web Services Signature Version 4. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/custom-authentication.html">IAM users, groups, and roles</a>.</p></li> </ul> <ul>  <li>   <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify authentication type. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li> </ul><br>
16    ///   - [`application_protocol(ApplicationProtocol)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::application_protocol) / [`set_application_protocol(Option<ApplicationProtocol>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_application_protocol):<br>required: **false**<br><p>An enumerated string that specifies the application-layer protocol.</p> <ul>  <li>   <p><code>SECURE_MQTT</code> - MQTT over TLS.</p></li> </ul> <ul>  <li>   <p><code>MQTT_WSS</code> - MQTT over WebSocket.</p></li> </ul> <ul>  <li>   <p><code>HTTPS</code> - HTTP over TLS.</p></li> </ul> <ul>  <li>   <p><code>DEFAULT</code> - Use a combination of port and Application Layer Protocol Negotiation (ALPN) to specify application_layer protocol. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication protocols</a>.</p></li> </ul><br>
17    ///   - [`client_certificate_config(ClientCertificateConfig)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::client_certificate_config) / [`set_client_certificate_config(Option<ClientCertificateConfig>)`](crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::set_client_certificate_config):<br>required: **false**<br><p>An object that specifies the client certificate configuration for a domain.</p><br>
18    /// - On success, responds with [`CreateDomainConfigurationOutput`](crate::operation::create_domain_configuration::CreateDomainConfigurationOutput) with field(s):
19    ///   - [`domain_configuration_name(Option<String>)`](crate::operation::create_domain_configuration::CreateDomainConfigurationOutput::domain_configuration_name): <p>The name of the domain configuration.</p>
20    ///   - [`domain_configuration_arn(Option<String>)`](crate::operation::create_domain_configuration::CreateDomainConfigurationOutput::domain_configuration_arn): <p>The ARN of the domain configuration.</p>
21    /// - On failure, responds with [`SdkError<CreateDomainConfigurationError>`](crate::operation::create_domain_configuration::CreateDomainConfigurationError)
22    pub fn create_domain_configuration(&self) -> crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder {
23        crate::operation::create_domain_configuration::builders::CreateDomainConfigurationFluentBuilder::new(self.handle.clone())
24    }
25}