aws_sdk_sagemaker/operation/update_workforce/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_workforce::_update_workforce_output::UpdateWorkforceOutputBuilder;
3
4pub use crate::operation::update_workforce::_update_workforce_input::UpdateWorkforceInputBuilder;
5
6impl crate::operation::update_workforce::builders::UpdateWorkforceInputBuilder {
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_workforce::UpdateWorkforceOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_workforce::UpdateWorkforceError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_workforce();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateWorkforce`.
24///
25/// <p>Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.</p>
26/// <p>The worker portal is now supported in VPC and public internet.</p>
27/// <p>Use <code>SourceIpConfig</code> to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">CIDRs</a>. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a <code>Not Found</code> error message on the worker portal.</p>
28/// <p>To restrict access to all the workers in public internet, add the <code>SourceIpConfig</code> CIDR value as "10.0.0.0/16".</p><important>
29/// <p>Amazon SageMaker does not support Source Ip restriction for worker portals in VPC.</p>
30/// </important>
31/// <p>Use <code>OidcConfig</code> to update the configuration of a workforce created using your own OIDC IdP.</p><important>
32/// <p>You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You can delete work teams using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteWorkteam.html">DeleteWorkteam</a> operation.</p>
33/// </important>
34/// <p>After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html">DescribeWorkforce</a> operation.</p><important>
35/// <p>This operation only applies to private workforces.</p>
36/// </important>
37#[derive(::std::clone::Clone, ::std::fmt::Debug)]
38pub struct UpdateWorkforceFluentBuilder {
39    handle: ::std::sync::Arc<crate::client::Handle>,
40    inner: crate::operation::update_workforce::builders::UpdateWorkforceInputBuilder,
41    config_override: ::std::option::Option<crate::config::Builder>,
42}
43impl
44    crate::client::customize::internal::CustomizableSend<
45        crate::operation::update_workforce::UpdateWorkforceOutput,
46        crate::operation::update_workforce::UpdateWorkforceError,
47    > for UpdateWorkforceFluentBuilder
48{
49    fn send(
50        self,
51        config_override: crate::config::Builder,
52    ) -> crate::client::customize::internal::BoxFuture<
53        crate::client::customize::internal::SendResult<
54            crate::operation::update_workforce::UpdateWorkforceOutput,
55            crate::operation::update_workforce::UpdateWorkforceError,
56        >,
57    > {
58        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
59    }
60}
61impl UpdateWorkforceFluentBuilder {
62    /// Creates a new `UpdateWorkforceFluentBuilder`.
63    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
64        Self {
65            handle,
66            inner: ::std::default::Default::default(),
67            config_override: ::std::option::Option::None,
68        }
69    }
70    /// Access the UpdateWorkforce as a reference.
71    pub fn as_input(&self) -> &crate::operation::update_workforce::builders::UpdateWorkforceInputBuilder {
72        &self.inner
73    }
74    /// Sends the request and returns the response.
75    ///
76    /// If an error occurs, an `SdkError` will be returned with additional details that
77    /// can be matched against.
78    ///
79    /// By default, any retryable failures will be retried twice. Retry behavior
80    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
81    /// set when configuring the client.
82    pub async fn send(
83        self,
84    ) -> ::std::result::Result<
85        crate::operation::update_workforce::UpdateWorkforceOutput,
86        ::aws_smithy_runtime_api::client::result::SdkError<
87            crate::operation::update_workforce::UpdateWorkforceError,
88            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
89        >,
90    > {
91        let input = self
92            .inner
93            .build()
94            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
95        let runtime_plugins = crate::operation::update_workforce::UpdateWorkforce::operation_runtime_plugins(
96            self.handle.runtime_plugins.clone(),
97            &self.handle.conf,
98            self.config_override,
99        );
100        crate::operation::update_workforce::UpdateWorkforce::orchestrate(&runtime_plugins, input).await
101    }
102
103    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
104    pub fn customize(
105        self,
106    ) -> crate::client::customize::CustomizableOperation<
107        crate::operation::update_workforce::UpdateWorkforceOutput,
108        crate::operation::update_workforce::UpdateWorkforceError,
109        Self,
110    > {
111        crate::client::customize::CustomizableOperation::new(self)
112    }
113    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
114        self.set_config_override(::std::option::Option::Some(config_override.into()));
115        self
116    }
117
118    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
119        self.config_override = config_override;
120        self
121    }
122    /// <p>The name of the private workforce that you want to update. You can find your workforce name by using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html">ListWorkforces</a> operation.</p>
123    pub fn workforce_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
124        self.inner = self.inner.workforce_name(input.into());
125        self
126    }
127    /// <p>The name of the private workforce that you want to update. You can find your workforce name by using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html">ListWorkforces</a> operation.</p>
128    pub fn set_workforce_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129        self.inner = self.inner.set_workforce_name(input);
130        self
131    }
132    /// <p>The name of the private workforce that you want to update. You can find your workforce name by using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ListWorkforces.html">ListWorkforces</a> operation.</p>
133    pub fn get_workforce_name(&self) -> &::std::option::Option<::std::string::String> {
134        self.inner.get_workforce_name()
135    }
136    /// <p>A list of one to ten worker IP address ranges (<a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">CIDRs</a>) that can be used to access tasks assigned to this workforce.</p>
137    /// <p>Maximum: Ten CIDR values</p>
138    pub fn source_ip_config(mut self, input: crate::types::SourceIpConfig) -> Self {
139        self.inner = self.inner.source_ip_config(input);
140        self
141    }
142    /// <p>A list of one to ten worker IP address ranges (<a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">CIDRs</a>) that can be used to access tasks assigned to this workforce.</p>
143    /// <p>Maximum: Ten CIDR values</p>
144    pub fn set_source_ip_config(mut self, input: ::std::option::Option<crate::types::SourceIpConfig>) -> Self {
145        self.inner = self.inner.set_source_ip_config(input);
146        self
147    }
148    /// <p>A list of one to ten worker IP address ranges (<a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html">CIDRs</a>) that can be used to access tasks assigned to this workforce.</p>
149    /// <p>Maximum: Ten CIDR values</p>
150    pub fn get_source_ip_config(&self) -> &::std::option::Option<crate::types::SourceIpConfig> {
151        self.inner.get_source_ip_config()
152    }
153    /// <p>Use this parameter to update your OIDC Identity Provider (IdP) configuration for a workforce made using your own IdP.</p>
154    pub fn oidc_config(mut self, input: crate::types::OidcConfig) -> Self {
155        self.inner = self.inner.oidc_config(input);
156        self
157    }
158    /// <p>Use this parameter to update your OIDC Identity Provider (IdP) configuration for a workforce made using your own IdP.</p>
159    pub fn set_oidc_config(mut self, input: ::std::option::Option<crate::types::OidcConfig>) -> Self {
160        self.inner = self.inner.set_oidc_config(input);
161        self
162    }
163    /// <p>Use this parameter to update your OIDC Identity Provider (IdP) configuration for a workforce made using your own IdP.</p>
164    pub fn get_oidc_config(&self) -> &::std::option::Option<crate::types::OidcConfig> {
165        self.inner.get_oidc_config()
166    }
167    /// <p>Use this parameter to update your VPC configuration for a workforce.</p>
168    pub fn workforce_vpc_config(mut self, input: crate::types::WorkforceVpcConfigRequest) -> Self {
169        self.inner = self.inner.workforce_vpc_config(input);
170        self
171    }
172    /// <p>Use this parameter to update your VPC configuration for a workforce.</p>
173    pub fn set_workforce_vpc_config(mut self, input: ::std::option::Option<crate::types::WorkforceVpcConfigRequest>) -> Self {
174        self.inner = self.inner.set_workforce_vpc_config(input);
175        self
176    }
177    /// <p>Use this parameter to update your VPC configuration for a workforce.</p>
178    pub fn get_workforce_vpc_config(&self) -> &::std::option::Option<crate::types::WorkforceVpcConfigRequest> {
179        self.inner.get_workforce_vpc_config()
180    }
181}