aws_sdk_lightsail/client/
create_distribution.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 [`CreateDistribution`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`distribution_name(impl Into<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::distribution_name) / [`set_distribution_name(Option<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_distribution_name):<br>required: **true**<br><p>The name for the distribution.</p><br>
7    ///   - [`origin(InputOrigin)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::origin) / [`set_origin(Option<InputOrigin>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_origin):<br>required: **true**<br><p>An object that describes the origin resource for the distribution, such as a Lightsail instance, bucket, or load balancer.</p> <p>The distribution pulls, caches, and serves content from the origin.</p><br>
8    ///   - [`default_cache_behavior(CacheBehavior)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::default_cache_behavior) / [`set_default_cache_behavior(Option<CacheBehavior>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_default_cache_behavior):<br>required: **true**<br><p>An object that describes the default cache behavior for the distribution.</p><br>
9    ///   - [`cache_behavior_settings(CacheSettings)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::cache_behavior_settings) / [`set_cache_behavior_settings(Option<CacheSettings>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_cache_behavior_settings):<br>required: **false**<br><p>An object that describes the cache behavior settings for the distribution.</p><br>
10    ///   - [`cache_behaviors(CacheBehaviorPerPath)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::cache_behaviors) / [`set_cache_behaviors(Option<Vec::<CacheBehaviorPerPath>>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_cache_behaviors):<br>required: **false**<br><p>An array of objects that describe the per-path cache behavior for the distribution.</p><br>
11    ///   - [`bundle_id(impl Into<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::bundle_id) / [`set_bundle_id(Option<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_bundle_id):<br>required: **true**<br><p>The bundle ID to use for the distribution.</p> <p>A distribution bundle describes the specifications of your distribution, such as the monthly cost and monthly network transfer quota.</p> <p>Use the <code>GetDistributionBundles</code> action to get a list of distribution bundle IDs that you can specify.</p><br>
12    ///   - [`ip_address_type(IpAddressType)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::ip_address_type) / [`set_ip_address_type(Option<IpAddressType>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_ip_address_type):<br>required: **false**<br><p>The IP address type for the distribution.</p> <p>The possible values are <code>ipv4</code> for IPv4 only, and <code>dualstack</code> for IPv4 and IPv6.</p> <p>The default value is <code>dualstack</code>.</p><br>
13    ///   - [`tags(Tag)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_tags):<br>required: **false**<br><p>The tag keys and optional values to add to the distribution during create.</p> <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p><br>
14    ///   - [`certificate_name(impl Into<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::certificate_name) / [`set_certificate_name(Option<String>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_certificate_name):<br>required: **false**<br><p>The name of the SSL/TLS certificate that you want to attach to the distribution.</p> <p>Use the <a href="https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetCertificates.html">GetCertificates</a> action to get a list of certificate names that you can specify.</p><br>
15    ///   - [`viewer_minimum_tls_protocol_version(ViewerMinimumTlsProtocolVersionEnum)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::viewer_minimum_tls_protocol_version) / [`set_viewer_minimum_tls_protocol_version(Option<ViewerMinimumTlsProtocolVersionEnum>)`](crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::set_viewer_minimum_tls_protocol_version):<br>required: **false**<br><p>The minimum TLS protocol version for the SSL/TLS certificate.</p><br>
16    /// - On success, responds with [`CreateDistributionOutput`](crate::operation::create_distribution::CreateDistributionOutput) with field(s):
17    ///   - [`distribution(Option<LightsailDistribution>)`](crate::operation::create_distribution::CreateDistributionOutput::distribution): <p>An object that describes the distribution created.</p>
18    ///   - [`operation(Option<Operation>)`](crate::operation::create_distribution::CreateDistributionOutput::operation): <p>An array of objects that describe the result of the action, such as the status of the request, the timestamp of the request, and the resources affected by the request.</p>
19    /// - On failure, responds with [`SdkError<CreateDistributionError>`](crate::operation::create_distribution::CreateDistributionError)
20    pub fn create_distribution(&self) -> crate::operation::create_distribution::builders::CreateDistributionFluentBuilder {
21        crate::operation::create_distribution::builders::CreateDistributionFluentBuilder::new(self.handle.clone())
22    }
23}