aws_sdk_cloudfront/operation/update_continuous_deployment_policy/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_continuous_deployment_policy::_update_continuous_deployment_policy_output::UpdateContinuousDeploymentPolicyOutputBuilder;
3
4pub use crate::operation::update_continuous_deployment_policy::_update_continuous_deployment_policy_input::UpdateContinuousDeploymentPolicyInputBuilder;
5
6impl crate::operation::update_continuous_deployment_policy::builders::UpdateContinuousDeploymentPolicyInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_continuous_deployment_policy();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateContinuousDeploymentPolicy`.
24///
25/// <p>Updates a continuous deployment policy. You can update a continuous deployment policy to enable or disable it, to change the percentage of traffic that it sends to the staging distribution, or to change the staging distribution that it sends traffic to.</p>
26/// <p>When you update a continuous deployment policy configuration, all the fields are updated with the values that are provided in the request. You cannot update some fields independent of others. To update a continuous deployment policy configuration:</p>
27/// <ol>
28/// <li>
29/// <p>Use <code>GetContinuousDeploymentPolicyConfig</code> to get the current configuration.</p></li>
30/// <li>
31/// <p>Locally modify the fields in the continuous deployment policy configuration that you want to update.</p></li>
32/// <li>
33/// <p>Use <code>UpdateContinuousDeploymentPolicy</code>, providing the entire continuous deployment policy configuration, including the fields that you modified and those that you didn't.</p></li>
34/// </ol>
35#[derive(::std::clone::Clone, ::std::fmt::Debug)]
36pub struct UpdateContinuousDeploymentPolicyFluentBuilder {
37    handle: ::std::sync::Arc<crate::client::Handle>,
38    inner: crate::operation::update_continuous_deployment_policy::builders::UpdateContinuousDeploymentPolicyInputBuilder,
39    config_override: ::std::option::Option<crate::config::Builder>,
40}
41impl
42    crate::client::customize::internal::CustomizableSend<
43        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
44        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
45    > for UpdateContinuousDeploymentPolicyFluentBuilder
46{
47    fn send(
48        self,
49        config_override: crate::config::Builder,
50    ) -> crate::client::customize::internal::BoxFuture<
51        crate::client::customize::internal::SendResult<
52            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
53            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
54        >,
55    > {
56        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
57    }
58}
59impl UpdateContinuousDeploymentPolicyFluentBuilder {
60    /// Creates a new `UpdateContinuousDeploymentPolicyFluentBuilder`.
61    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
62        Self {
63            handle,
64            inner: ::std::default::Default::default(),
65            config_override: ::std::option::Option::None,
66        }
67    }
68    /// Access the UpdateContinuousDeploymentPolicy as a reference.
69    pub fn as_input(&self) -> &crate::operation::update_continuous_deployment_policy::builders::UpdateContinuousDeploymentPolicyInputBuilder {
70        &self.inner
71    }
72    /// Sends the request and returns the response.
73    ///
74    /// If an error occurs, an `SdkError` will be returned with additional details that
75    /// can be matched against.
76    ///
77    /// By default, any retryable failures will be retried twice. Retry behavior
78    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
79    /// set when configuring the client.
80    pub async fn send(
81        self,
82    ) -> ::std::result::Result<
83        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
84        ::aws_smithy_runtime_api::client::result::SdkError<
85            crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
86            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
87        >,
88    > {
89        let input = self
90            .inner
91            .build()
92            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
93        let runtime_plugins = crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicy::operation_runtime_plugins(
94            self.handle.runtime_plugins.clone(),
95            &self.handle.conf,
96            self.config_override,
97        );
98        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicy::orchestrate(&runtime_plugins, input).await
99    }
100
101    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
102    pub fn customize(
103        self,
104    ) -> crate::client::customize::CustomizableOperation<
105        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput,
106        crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError,
107        Self,
108    > {
109        crate::client::customize::CustomizableOperation::new(self)
110    }
111    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
112        self.set_config_override(::std::option::Option::Some(config_override.into()));
113        self
114    }
115
116    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
117        self.config_override = config_override;
118        self
119    }
120    /// <p>The continuous deployment policy configuration.</p>
121    pub fn continuous_deployment_policy_config(mut self, input: crate::types::ContinuousDeploymentPolicyConfig) -> Self {
122        self.inner = self.inner.continuous_deployment_policy_config(input);
123        self
124    }
125    /// <p>The continuous deployment policy configuration.</p>
126    pub fn set_continuous_deployment_policy_config(mut self, input: ::std::option::Option<crate::types::ContinuousDeploymentPolicyConfig>) -> Self {
127        self.inner = self.inner.set_continuous_deployment_policy_config(input);
128        self
129    }
130    /// <p>The continuous deployment policy configuration.</p>
131    pub fn get_continuous_deployment_policy_config(&self) -> &::std::option::Option<crate::types::ContinuousDeploymentPolicyConfig> {
132        self.inner.get_continuous_deployment_policy_config()
133    }
134    /// <p>The identifier of the continuous deployment policy that you are updating.</p>
135    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
136        self.inner = self.inner.id(input.into());
137        self
138    }
139    /// <p>The identifier of the continuous deployment policy that you are updating.</p>
140    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
141        self.inner = self.inner.set_id(input);
142        self
143    }
144    /// <p>The identifier of the continuous deployment policy that you are updating.</p>
145    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
146        self.inner.get_id()
147    }
148    /// <p>The current version (<code>ETag</code> value) of the continuous deployment policy that you are updating.</p>
149    pub fn if_match(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
150        self.inner = self.inner.if_match(input.into());
151        self
152    }
153    /// <p>The current version (<code>ETag</code> value) of the continuous deployment policy that you are updating.</p>
154    pub fn set_if_match(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
155        self.inner = self.inner.set_if_match(input);
156        self
157    }
158    /// <p>The current version (<code>ETag</code> value) of the continuous deployment policy that you are updating.</p>
159    pub fn get_if_match(&self) -> &::std::option::Option<::std::string::String> {
160        self.inner.get_if_match()
161    }
162}