aws_sdk_sagemaker/operation/create_edge_packaging_job/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_edge_packaging_job::_create_edge_packaging_job_output::CreateEdgePackagingJobOutputBuilder;
3
4pub use crate::operation::create_edge_packaging_job::_create_edge_packaging_job_input::CreateEdgePackagingJobInputBuilder;
5
6impl crate::operation::create_edge_packaging_job::builders::CreateEdgePackagingJobInputBuilder {
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_edge_packaging_job::CreateEdgePackagingJobOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_edge_packaging_job::CreateEdgePackagingJobError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_edge_packaging_job();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateEdgePackagingJob`.
24///
25/// <p>Starts a SageMaker Edge Manager model packaging job. Edge Manager will use the model artifacts from the Amazon Simple Storage Service bucket that you specify. After the model has been packaged, Amazon SageMaker saves the resulting artifacts to an S3 bucket that you specify.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateEdgePackagingJobFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_edge_packaging_job::builders::CreateEdgePackagingJobInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_edge_packaging_job::CreateEdgePackagingJobOutput,
35        crate::operation::create_edge_packaging_job::CreateEdgePackagingJobError,
36    > for CreateEdgePackagingJobFluentBuilder
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_edge_packaging_job::CreateEdgePackagingJobOutput,
44            crate::operation::create_edge_packaging_job::CreateEdgePackagingJobError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateEdgePackagingJobFluentBuilder {
51    /// Creates a new `CreateEdgePackagingJobFluentBuilder`.
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 CreateEdgePackagingJob as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_edge_packaging_job::builders::CreateEdgePackagingJobInputBuilder {
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_edge_packaging_job::CreateEdgePackagingJobOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_edge_packaging_job::CreateEdgePackagingJobError,
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_edge_packaging_job::CreateEdgePackagingJob::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_edge_packaging_job::CreateEdgePackagingJob::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_edge_packaging_job::CreateEdgePackagingJobOutput,
97        crate::operation::create_edge_packaging_job::CreateEdgePackagingJobError,
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 edge packaging job.</p>
112    pub fn edge_packaging_job_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.edge_packaging_job_name(input.into());
114        self
115    }
116    /// <p>The name of the edge packaging job.</p>
117    pub fn set_edge_packaging_job_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_edge_packaging_job_name(input);
119        self
120    }
121    /// <p>The name of the edge packaging job.</p>
122    pub fn get_edge_packaging_job_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_edge_packaging_job_name()
124    }
125    /// <p>The name of the SageMaker Neo compilation job that will be used to locate model artifacts for packaging.</p>
126    pub fn compilation_job_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.compilation_job_name(input.into());
128        self
129    }
130    /// <p>The name of the SageMaker Neo compilation job that will be used to locate model artifacts for packaging.</p>
131    pub fn set_compilation_job_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_compilation_job_name(input);
133        self
134    }
135    /// <p>The name of the SageMaker Neo compilation job that will be used to locate model artifacts for packaging.</p>
136    pub fn get_compilation_job_name(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_compilation_job_name()
138    }
139    /// <p>The name of the model.</p>
140    pub fn model_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.model_name(input.into());
142        self
143    }
144    /// <p>The name of the model.</p>
145    pub fn set_model_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_model_name(input);
147        self
148    }
149    /// <p>The name of the model.</p>
150    pub fn get_model_name(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_model_name()
152    }
153    /// <p>The version of the model.</p>
154    pub fn model_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.model_version(input.into());
156        self
157    }
158    /// <p>The version of the model.</p>
159    pub fn set_model_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_model_version(input);
161        self
162    }
163    /// <p>The version of the model.</p>
164    pub fn get_model_version(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_model_version()
166    }
167    /// <p>The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact SageMaker Neo.</p>
168    pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169        self.inner = self.inner.role_arn(input.into());
170        self
171    }
172    /// <p>The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact SageMaker Neo.</p>
173    pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174        self.inner = self.inner.set_role_arn(input);
175        self
176    }
177    /// <p>The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact SageMaker Neo.</p>
178    pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
179        self.inner.get_role_arn()
180    }
181    /// <p>Provides information about the output location for the packaged model.</p>
182    pub fn output_config(mut self, input: crate::types::EdgeOutputConfig) -> Self {
183        self.inner = self.inner.output_config(input);
184        self
185    }
186    /// <p>Provides information about the output location for the packaged model.</p>
187    pub fn set_output_config(mut self, input: ::std::option::Option<crate::types::EdgeOutputConfig>) -> Self {
188        self.inner = self.inner.set_output_config(input);
189        self
190    }
191    /// <p>Provides information about the output location for the packaged model.</p>
192    pub fn get_output_config(&self) -> &::std::option::Option<crate::types::EdgeOutputConfig> {
193        self.inner.get_output_config()
194    }
195    /// <p>The Amazon Web Services KMS key to use when encrypting the EBS volume the edge packaging job runs on.</p>
196    pub fn resource_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
197        self.inner = self.inner.resource_key(input.into());
198        self
199    }
200    /// <p>The Amazon Web Services KMS key to use when encrypting the EBS volume the edge packaging job runs on.</p>
201    pub fn set_resource_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
202        self.inner = self.inner.set_resource_key(input);
203        self
204    }
205    /// <p>The Amazon Web Services KMS key to use when encrypting the EBS volume the edge packaging job runs on.</p>
206    pub fn get_resource_key(&self) -> &::std::option::Option<::std::string::String> {
207        self.inner.get_resource_key()
208    }
209    ///
210    /// Appends an item to `Tags`.
211    ///
212    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
213    ///
214    /// <p>Creates tags for the packaging job.</p>
215    pub fn tags(mut self, input: crate::types::Tag) -> Self {
216        self.inner = self.inner.tags(input);
217        self
218    }
219    /// <p>Creates tags for the packaging job.</p>
220    pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
221        self.inner = self.inner.set_tags(input);
222        self
223    }
224    /// <p>Creates tags for the packaging job.</p>
225    pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
226        self.inner.get_tags()
227    }
228}