aws_sdk_ssm/operation/update_document/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_document::_update_document_output::UpdateDocumentOutputBuilder;
3
4pub use crate::operation::update_document::_update_document_input::UpdateDocumentInputBuilder;
5
6impl crate::operation::update_document::builders::UpdateDocumentInputBuilder {
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_document::UpdateDocumentOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_document::UpdateDocumentError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_document();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateDocument`.
24///
25/// <p>Updates one or more values for an SSM document.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateDocumentFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_document::builders::UpdateDocumentInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_document::UpdateDocumentOutput,
35        crate::operation::update_document::UpdateDocumentError,
36    > for UpdateDocumentFluentBuilder
37{
38    fn send(
39        self,
40        config_override: crate::config::Builder,
41    ) -> crate::client::customize::internal::BoxFuture<
42        crate::client::customize::internal::SendResult<
43            crate::operation::update_document::UpdateDocumentOutput,
44            crate::operation::update_document::UpdateDocumentError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateDocumentFluentBuilder {
51    /// Creates a new `UpdateDocumentFluentBuilder`.
52    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53        Self {
54            handle,
55            inner: ::std::default::Default::default(),
56            config_override: ::std::option::Option::None,
57        }
58    }
59    /// Access the UpdateDocument as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_document::builders::UpdateDocumentInputBuilder {
61        &self.inner
62    }
63    /// Sends the request and returns the response.
64    ///
65    /// If an error occurs, an `SdkError` will be returned with additional details that
66    /// can be matched against.
67    ///
68    /// By default, any retryable failures will be retried twice. Retry behavior
69    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70    /// set when configuring the client.
71    pub async fn send(
72        self,
73    ) -> ::std::result::Result<
74        crate::operation::update_document::UpdateDocumentOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_document::UpdateDocumentError,
77            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78        >,
79    > {
80        let input = self
81            .inner
82            .build()
83            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84        let runtime_plugins = crate::operation::update_document::UpdateDocument::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_document::UpdateDocument::orchestrate(&runtime_plugins, input).await
90    }
91
92    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93    pub fn customize(
94        self,
95    ) -> crate::client::customize::CustomizableOperation<
96        crate::operation::update_document::UpdateDocumentOutput,
97        crate::operation::update_document::UpdateDocumentError,
98        Self,
99    > {
100        crate::client::customize::CustomizableOperation::new(self)
101    }
102    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103        self.set_config_override(::std::option::Option::Some(config_override.into()));
104        self
105    }
106
107    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108        self.config_override = config_override;
109        self
110    }
111    /// <p>A valid JSON or YAML string.</p>
112    pub fn content(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.content(input.into());
114        self
115    }
116    /// <p>A valid JSON or YAML string.</p>
117    pub fn set_content(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_content(input);
119        self
120    }
121    /// <p>A valid JSON or YAML string.</p>
122    pub fn get_content(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_content()
124    }
125    ///
126    /// Appends an item to `Attachments`.
127    ///
128    /// To override the contents of this collection use [`set_attachments`](Self::set_attachments).
129    ///
130    /// <p>A list of key-value pairs that describe attachments to a version of a document.</p>
131    pub fn attachments(mut self, input: crate::types::AttachmentsSource) -> Self {
132        self.inner = self.inner.attachments(input);
133        self
134    }
135    /// <p>A list of key-value pairs that describe attachments to a version of a document.</p>
136    pub fn set_attachments(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AttachmentsSource>>) -> Self {
137        self.inner = self.inner.set_attachments(input);
138        self
139    }
140    /// <p>A list of key-value pairs that describe attachments to a version of a document.</p>
141    pub fn get_attachments(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AttachmentsSource>> {
142        self.inner.get_attachments()
143    }
144    /// <p>The name of the SSM document that you want to update.</p>
145    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
146        self.inner = self.inner.name(input.into());
147        self
148    }
149    /// <p>The name of the SSM document that you want to update.</p>
150    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
151        self.inner = self.inner.set_name(input);
152        self
153    }
154    /// <p>The name of the SSM document that you want to update.</p>
155    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
156        self.inner.get_name()
157    }
158    /// <p>The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don't specify a value for this parameter in your request, the existing value is applied to the new document version.</p>
159    pub fn display_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
160        self.inner = self.inner.display_name(input.into());
161        self
162    }
163    /// <p>The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don't specify a value for this parameter in your request, the existing value is applied to the new document version.</p>
164    pub fn set_display_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
165        self.inner = self.inner.set_display_name(input);
166        self
167    }
168    /// <p>The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don't specify a value for this parameter in your request, the existing value is applied to the new document version.</p>
169    pub fn get_display_name(&self) -> &::std::option::Option<::std::string::String> {
170        self.inner.get_display_name()
171    }
172    /// <p>An optional field specifying the version of the artifact you are updating with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.</p>
173    pub fn version_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.inner = self.inner.version_name(input.into());
175        self
176    }
177    /// <p>An optional field specifying the version of the artifact you are updating with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.</p>
178    pub fn set_version_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.inner = self.inner.set_version_name(input);
180        self
181    }
182    /// <p>An optional field specifying the version of the artifact you are updating with the document. For example, 12.6. This value is unique across all versions of a document, and can't be changed.</p>
183    pub fn get_version_name(&self) -> &::std::option::Option<::std::string::String> {
184        self.inner.get_version_name()
185    }
186    /// <p>The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the <code>$LATEST</code> variable.</p><note>
187    /// <p>If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p>
188    /// </note>
189    pub fn document_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
190        self.inner = self.inner.document_version(input.into());
191        self
192    }
193    /// <p>The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the <code>$LATEST</code> variable.</p><note>
194    /// <p>If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p>
195    /// </note>
196    pub fn set_document_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197        self.inner = self.inner.set_document_version(input);
198        self
199    }
200    /// <p>The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the <code>$LATEST</code> variable.</p><note>
201    /// <p>If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the <code>apply-only-at-cron-interval</code> parameter.</p>
202    /// </note>
203    pub fn get_document_version(&self) -> &::std::option::Option<::std::string::String> {
204        self.inner.get_document_version()
205    }
206    /// <p>Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.</p>
207    pub fn document_format(mut self, input: crate::types::DocumentFormat) -> Self {
208        self.inner = self.inner.document_format(input);
209        self
210    }
211    /// <p>Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.</p>
212    pub fn set_document_format(mut self, input: ::std::option::Option<crate::types::DocumentFormat>) -> Self {
213        self.inner = self.inner.set_document_format(input);
214        self
215    }
216    /// <p>Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.</p>
217    pub fn get_document_format(&self) -> &::std::option::Option<crate::types::DocumentFormat> {
218        self.inner.get_document_format()
219    }
220    /// <p>Specify a new target type for the document.</p>
221    pub fn target_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222        self.inner = self.inner.target_type(input.into());
223        self
224    }
225    /// <p>Specify a new target type for the document.</p>
226    pub fn set_target_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227        self.inner = self.inner.set_target_type(input);
228        self
229    }
230    /// <p>Specify a new target type for the document.</p>
231    pub fn get_target_type(&self) -> &::std::option::Option<::std::string::String> {
232        self.inner.get_target_type()
233    }
234}