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}