1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::update_continuous_deployment_policy::_update_continuous_deployment_policy_output::UpdateContinuousDeploymentPolicyOutputBuilder;

pub use crate::operation::update_continuous_deployment_policy::_update_continuous_deployment_policy_input::UpdateContinuousDeploymentPolicyInputBuilder;

/// Fluent builder constructing a request to `UpdateContinuousDeploymentPolicy`.
///
/// <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>
/// <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>
/// <ol>
/// <li> <p>Use <code>GetContinuousDeploymentPolicyConfig</code> to get the current configuration.</p> </li>
/// <li> <p>Locally modify the fields in the continuous deployment policy configuration that you want to update.</p> </li>
/// <li> <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>
/// </ol>
#[derive(std::clone::Clone, std::fmt::Debug)]
pub struct UpdateContinuousDeploymentPolicyFluentBuilder {
                handle: std::sync::Arc<crate::client::Handle>,
                inner: crate::operation::update_continuous_deployment_policy::builders::UpdateContinuousDeploymentPolicyInputBuilder
            }
impl UpdateContinuousDeploymentPolicyFluentBuilder {
    /// Creates a new `UpdateContinuousDeploymentPolicy`.
    pub(crate) fn new(handle: std::sync::Arc<crate::client::Handle>) -> Self {
        Self {
            handle,
            inner: Default::default(),
        }
    }

    /// Consume this builder, creating a customizable operation that can be modified before being
    /// sent. The operation's inner [http::Request] can be modified as well.
                    pub async fn customize(self) -> std::result::Result<
                        crate::client::customize::CustomizableOperation<crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicy, aws_http::retry::AwsResponseRetryClassifier,>,
                        aws_smithy_http::result::SdkError<crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError>
    >{
        let handle = self.handle.clone();
        let operation = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        Ok(crate::client::customize::CustomizableOperation { handle, operation })
    }

    /// Sends the request and returns the response.
    ///
    /// If an error occurs, an `SdkError` will be returned with additional details that
    /// can be matched against.
    ///
    /// By default, any retryable failures will be retried twice. Retry behavior
    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
    /// set when configuring the client.
                    pub async fn send(self) -> std::result::Result<crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyOutput, aws_smithy_http::result::SdkError<crate::operation::update_continuous_deployment_policy::UpdateContinuousDeploymentPolicyError>>
                     {
        let op = self
            .inner
            .build()
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?
            .make_operation(&self.handle.conf)
            .await
            .map_err(aws_smithy_http::result::SdkError::construction_failure)?;
        self.handle.client.call(op).await
    }
    /// <p>The continuous deployment policy configuration.</p>
    pub fn continuous_deployment_policy_config(
        mut self,
        input: crate::types::ContinuousDeploymentPolicyConfig,
    ) -> Self {
        self.inner = self.inner.continuous_deployment_policy_config(input);
        self
    }
    /// <p>The continuous deployment policy configuration.</p>
    pub fn set_continuous_deployment_policy_config(
        mut self,
        input: std::option::Option<crate::types::ContinuousDeploymentPolicyConfig>,
    ) -> Self {
        self.inner = self.inner.set_continuous_deployment_policy_config(input);
        self
    }
    /// <p>The identifier of the continuous deployment policy that you are updating.</p>
    pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.id(input.into());
        self
    }
    /// <p>The identifier of the continuous deployment policy that you are updating.</p>
    pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.inner = self.inner.set_id(input);
        self
    }
    /// <p>The current version (<code>ETag</code> value) of the continuous deployment policy that you are updating.</p>
    pub fn if_match(mut self, input: impl Into<std::string::String>) -> Self {
        self.inner = self.inner.if_match(input.into());
        self
    }
    /// <p>The current version (<code>ETag</code> value) of the continuous deployment policy that you are updating.</p>
    pub fn set_if_match(mut self, input: std::option::Option<std::string::String>) -> Self {
        self.inner = self.inner.set_if_match(input);
        self
    }
}