aws_sdk_imagebuilder/operation/create_image_pipeline/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_image_pipeline::_create_image_pipeline_output::CreateImagePipelineOutputBuilder;
3
4pub use crate::operation::create_image_pipeline::_create_image_pipeline_input::CreateImagePipelineInputBuilder;
5
6impl crate::operation::create_image_pipeline::builders::CreateImagePipelineInputBuilder {
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::create_image_pipeline::CreateImagePipelineOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_image_pipeline::CreateImagePipelineError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_image_pipeline();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateImagePipeline`.
24///
25/// <p>Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateImagePipelineFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_image_pipeline::builders::CreateImagePipelineInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_image_pipeline::CreateImagePipelineOutput,
35        crate::operation::create_image_pipeline::CreateImagePipelineError,
36    > for CreateImagePipelineFluentBuilder
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::create_image_pipeline::CreateImagePipelineOutput,
44            crate::operation::create_image_pipeline::CreateImagePipelineError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateImagePipelineFluentBuilder {
51    /// Creates a new `CreateImagePipelineFluentBuilder`.
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 CreateImagePipeline as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_image_pipeline::builders::CreateImagePipelineInputBuilder {
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::create_image_pipeline::CreateImagePipelineOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_image_pipeline::CreateImagePipelineError,
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::create_image_pipeline::CreateImagePipeline::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_image_pipeline::CreateImagePipeline::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::create_image_pipeline::CreateImagePipelineOutput,
97        crate::operation::create_image_pipeline::CreateImagePipelineError,
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>The name of the image pipeline.</p>
112    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.name(input.into());
114        self
115    }
116    /// <p>The name of the image pipeline.</p>
117    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_name(input);
119        self
120    }
121    /// <p>The name of the image pipeline.</p>
122    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_name()
124    }
125    /// <p>The description of the image pipeline.</p>
126    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.description(input.into());
128        self
129    }
130    /// <p>The description of the image pipeline.</p>
131    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_description(input);
133        self
134    }
135    /// <p>The description of the image pipeline.</p>
136    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_description()
138    }
139    /// <p>The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.</p>
140    pub fn image_recipe_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.image_recipe_arn(input.into());
142        self
143    }
144    /// <p>The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.</p>
145    pub fn set_image_recipe_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_image_recipe_arn(input);
147        self
148    }
149    /// <p>The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.</p>
150    pub fn get_image_recipe_arn(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_image_recipe_arn()
152    }
153    /// <p>The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container pipeline.</p>
154    pub fn container_recipe_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.container_recipe_arn(input.into());
156        self
157    }
158    /// <p>The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container pipeline.</p>
159    pub fn set_container_recipe_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_container_recipe_arn(input);
161        self
162    }
163    /// <p>The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container pipeline.</p>
164    pub fn get_container_recipe_arn(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_container_recipe_arn()
166    }
167    /// <p>The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.</p>
168    pub fn infrastructure_configuration_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169        self.inner = self.inner.infrastructure_configuration_arn(input.into());
170        self
171    }
172    /// <p>The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.</p>
173    pub fn set_infrastructure_configuration_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174        self.inner = self.inner.set_infrastructure_configuration_arn(input);
175        self
176    }
177    /// <p>The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.</p>
178    pub fn get_infrastructure_configuration_arn(&self) -> &::std::option::Option<::std::string::String> {
179        self.inner.get_infrastructure_configuration_arn()
180    }
181    /// <p>The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.</p>
182    pub fn distribution_configuration_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
183        self.inner = self.inner.distribution_configuration_arn(input.into());
184        self
185    }
186    /// <p>The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.</p>
187    pub fn set_distribution_configuration_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
188        self.inner = self.inner.set_distribution_configuration_arn(input);
189        self
190    }
191    /// <p>The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.</p>
192    pub fn get_distribution_configuration_arn(&self) -> &::std::option::Option<::std::string::String> {
193        self.inner.get_distribution_configuration_arn()
194    }
195    /// <p>The image test configuration of the image pipeline.</p>
196    pub fn image_tests_configuration(mut self, input: crate::types::ImageTestsConfiguration) -> Self {
197        self.inner = self.inner.image_tests_configuration(input);
198        self
199    }
200    /// <p>The image test configuration of the image pipeline.</p>
201    pub fn set_image_tests_configuration(mut self, input: ::std::option::Option<crate::types::ImageTestsConfiguration>) -> Self {
202        self.inner = self.inner.set_image_tests_configuration(input);
203        self
204    }
205    /// <p>The image test configuration of the image pipeline.</p>
206    pub fn get_image_tests_configuration(&self) -> &::std::option::Option<crate::types::ImageTestsConfiguration> {
207        self.inner.get_image_tests_configuration()
208    }
209    /// <p>Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.</p>
210    pub fn enhanced_image_metadata_enabled(mut self, input: bool) -> Self {
211        self.inner = self.inner.enhanced_image_metadata_enabled(input);
212        self
213    }
214    /// <p>Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.</p>
215    pub fn set_enhanced_image_metadata_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
216        self.inner = self.inner.set_enhanced_image_metadata_enabled(input);
217        self
218    }
219    /// <p>Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.</p>
220    pub fn get_enhanced_image_metadata_enabled(&self) -> &::std::option::Option<bool> {
221        self.inner.get_enhanced_image_metadata_enabled()
222    }
223    /// <p>The schedule of the image pipeline.</p>
224    pub fn schedule(mut self, input: crate::types::Schedule) -> Self {
225        self.inner = self.inner.schedule(input);
226        self
227    }
228    /// <p>The schedule of the image pipeline.</p>
229    pub fn set_schedule(mut self, input: ::std::option::Option<crate::types::Schedule>) -> Self {
230        self.inner = self.inner.set_schedule(input);
231        self
232    }
233    /// <p>The schedule of the image pipeline.</p>
234    pub fn get_schedule(&self) -> &::std::option::Option<crate::types::Schedule> {
235        self.inner.get_schedule()
236    }
237    /// <p>The status of the image pipeline.</p>
238    pub fn status(mut self, input: crate::types::PipelineStatus) -> Self {
239        self.inner = self.inner.status(input);
240        self
241    }
242    /// <p>The status of the image pipeline.</p>
243    pub fn set_status(mut self, input: ::std::option::Option<crate::types::PipelineStatus>) -> Self {
244        self.inner = self.inner.set_status(input);
245        self
246    }
247    /// <p>The status of the image pipeline.</p>
248    pub fn get_status(&self) -> &::std::option::Option<crate::types::PipelineStatus> {
249        self.inner.get_status()
250    }
251    ///
252    /// Adds a key-value pair to `tags`.
253    ///
254    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
255    ///
256    /// <p>The tags of the image pipeline.</p>
257    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
258        self.inner = self.inner.tags(k.into(), v.into());
259        self
260    }
261    /// <p>The tags of the image pipeline.</p>
262    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
263        self.inner = self.inner.set_tags(input);
264        self
265    }
266    /// <p>The tags of the image pipeline.</p>
267    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
268        self.inner.get_tags()
269    }
270    /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
271    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
272        self.inner = self.inner.client_token(input.into());
273        self
274    }
275    /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
276    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
277        self.inner = self.inner.set_client_token(input);
278        self
279    }
280    /// <p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>
281    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
282        self.inner.get_client_token()
283    }
284    /// <p>Contains settings for vulnerability scans.</p>
285    pub fn image_scanning_configuration(mut self, input: crate::types::ImageScanningConfiguration) -> Self {
286        self.inner = self.inner.image_scanning_configuration(input);
287        self
288    }
289    /// <p>Contains settings for vulnerability scans.</p>
290    pub fn set_image_scanning_configuration(mut self, input: ::std::option::Option<crate::types::ImageScanningConfiguration>) -> Self {
291        self.inner = self.inner.set_image_scanning_configuration(input);
292        self
293    }
294    /// <p>Contains settings for vulnerability scans.</p>
295    pub fn get_image_scanning_configuration(&self) -> &::std::option::Option<crate::types::ImageScanningConfiguration> {
296        self.inner.get_image_scanning_configuration()
297    }
298    ///
299    /// Appends an item to `workflows`.
300    ///
301    /// To override the contents of this collection use [`set_workflows`](Self::set_workflows).
302    ///
303    /// <p>Contains an array of workflow configuration objects.</p>
304    pub fn workflows(mut self, input: crate::types::WorkflowConfiguration) -> Self {
305        self.inner = self.inner.workflows(input);
306        self
307    }
308    /// <p>Contains an array of workflow configuration objects.</p>
309    pub fn set_workflows(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::WorkflowConfiguration>>) -> Self {
310        self.inner = self.inner.set_workflows(input);
311        self
312    }
313    /// <p>Contains an array of workflow configuration objects.</p>
314    pub fn get_workflows(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::WorkflowConfiguration>> {
315        self.inner.get_workflows()
316    }
317    /// <p>The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.</p>
318    pub fn execution_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
319        self.inner = self.inner.execution_role(input.into());
320        self
321    }
322    /// <p>The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.</p>
323    pub fn set_execution_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
324        self.inner = self.inner.set_execution_role(input);
325        self
326    }
327    /// <p>The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions.</p>
328    pub fn get_execution_role(&self) -> &::std::option::Option<::std::string::String> {
329        self.inner.get_execution_role()
330    }
331}