Skip to main content

aws_sdk_glue/operation/create_session/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_session::_create_session_input::CreateSessionInputBuilder;
3
4pub use crate::operation::create_session::_create_session_output::CreateSessionOutputBuilder;
5
6impl crate::operation::create_session::builders::CreateSessionInputBuilder {
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_session::CreateSessionOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_session::CreateSessionError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_session();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateSession`.
24///
25/// <p>Creates a new session.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateSessionFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::create_session::builders::CreateSessionInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::create_session::CreateSessionOutput,
35        crate::operation::create_session::CreateSessionError,
36    > for CreateSessionFluentBuilder
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_session::CreateSessionOutput,
44            crate::operation::create_session::CreateSessionError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl CreateSessionFluentBuilder {
51    /// Creates a new `CreateSessionFluentBuilder`.
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 CreateSession as a reference.
60    pub fn as_input(&self) -> &crate::operation::create_session::builders::CreateSessionInputBuilder {
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_session::CreateSessionOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::create_session::CreateSessionError,
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_session::CreateSession::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::create_session::CreateSession::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_session::CreateSessionOutput,
97        crate::operation::create_session::CreateSessionError,
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 ID of the session request.</p>
112    pub fn id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113        self.inner = self.inner.id(input.into());
114        self
115    }
116    /// <p>The ID of the session request.</p>
117    pub fn set_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118        self.inner = self.inner.set_id(input);
119        self
120    }
121    /// <p>The ID of the session request.</p>
122    pub fn get_id(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_id()
124    }
125    /// <p>The description of the session.</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 session.</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 session.</p>
136    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_description()
138    }
139    /// <p>The IAM Role ARN</p>
140    pub fn role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.role(input.into());
142        self
143    }
144    /// <p>The IAM Role ARN</p>
145    pub fn set_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_role(input);
147        self
148    }
149    /// <p>The IAM Role ARN</p>
150    pub fn get_role(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_role()
152    }
153    /// <p>The <code>SessionCommand</code> that runs the job.</p>
154    pub fn command(mut self, input: crate::types::SessionCommand) -> Self {
155        self.inner = self.inner.command(input);
156        self
157    }
158    /// <p>The <code>SessionCommand</code> that runs the job.</p>
159    pub fn set_command(mut self, input: ::std::option::Option<crate::types::SessionCommand>) -> Self {
160        self.inner = self.inner.set_command(input);
161        self
162    }
163    /// <p>The <code>SessionCommand</code> that runs the job.</p>
164    pub fn get_command(&self) -> &::std::option::Option<crate::types::SessionCommand> {
165        self.inner.get_command()
166    }
167    /// <p>The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes). Consult the documentation for other job types.</p>
168    pub fn timeout(mut self, input: i32) -> Self {
169        self.inner = self.inner.timeout(input);
170        self
171    }
172    /// <p>The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes). Consult the documentation for other job types.</p>
173    pub fn set_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
174        self.inner = self.inner.set_timeout(input);
175        self
176    }
177    /// <p>The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes). Consult the documentation for other job types.</p>
178    pub fn get_timeout(&self) -> &::std::option::Option<i32> {
179        self.inner.get_timeout()
180    }
181    /// <p>The number of minutes when idle before session times out. Default for Spark ETL jobs is value of Timeout. Consult the documentation for other job types.</p>
182    pub fn idle_timeout(mut self, input: i32) -> Self {
183        self.inner = self.inner.idle_timeout(input);
184        self
185    }
186    /// <p>The number of minutes when idle before session times out. Default for Spark ETL jobs is value of Timeout. Consult the documentation for other job types.</p>
187    pub fn set_idle_timeout(mut self, input: ::std::option::Option<i32>) -> Self {
188        self.inner = self.inner.set_idle_timeout(input);
189        self
190    }
191    /// <p>The number of minutes when idle before session times out. Default for Spark ETL jobs is value of Timeout. Consult the documentation for other job types.</p>
192    pub fn get_idle_timeout(&self) -> &::std::option::Option<i32> {
193        self.inner.get_idle_timeout()
194    }
195    ///
196    /// Adds a key-value pair to `DefaultArguments`.
197    ///
198    /// To override the contents of this collection use [`set_default_arguments`](Self::set_default_arguments).
199    ///
200    /// <p>A map array of key-value pairs. Max is 75 pairs.</p>
201    pub fn default_arguments(
202        mut self,
203        k: impl ::std::convert::Into<::std::string::String>,
204        v: impl ::std::convert::Into<::std::string::String>,
205    ) -> Self {
206        self.inner = self.inner.default_arguments(k.into(), v.into());
207        self
208    }
209    /// <p>A map array of key-value pairs. Max is 75 pairs.</p>
210    pub fn set_default_arguments(
211        mut self,
212        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
213    ) -> Self {
214        self.inner = self.inner.set_default_arguments(input);
215        self
216    }
217    /// <p>A map array of key-value pairs. Max is 75 pairs.</p>
218    pub fn get_default_arguments(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
219        self.inner.get_default_arguments()
220    }
221    /// <p>The number of connections to use for the session.</p>
222    pub fn connections(mut self, input: crate::types::ConnectionsList) -> Self {
223        self.inner = self.inner.connections(input);
224        self
225    }
226    /// <p>The number of connections to use for the session.</p>
227    pub fn set_connections(mut self, input: ::std::option::Option<crate::types::ConnectionsList>) -> Self {
228        self.inner = self.inner.set_connections(input);
229        self
230    }
231    /// <p>The number of connections to use for the session.</p>
232    pub fn get_connections(&self) -> &::std::option::Option<crate::types::ConnectionsList> {
233        self.inner.get_connections()
234    }
235    /// <p>The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.</p>
236    pub fn max_capacity(mut self, input: f64) -> Self {
237        self.inner = self.inner.max_capacity(input);
238        self
239    }
240    /// <p>The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.</p>
241    pub fn set_max_capacity(mut self, input: ::std::option::Option<f64>) -> Self {
242        self.inner = self.inner.set_max_capacity(input);
243        self
244    }
245    /// <p>The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.</p>
246    pub fn get_max_capacity(&self) -> &::std::option::Option<f64> {
247        self.inner.get_max_capacity()
248    }
249    /// <p>The number of workers of a defined <code>WorkerType</code> to use for the session.</p>
250    pub fn number_of_workers(mut self, input: i32) -> Self {
251        self.inner = self.inner.number_of_workers(input);
252        self
253    }
254    /// <p>The number of workers of a defined <code>WorkerType</code> to use for the session.</p>
255    pub fn set_number_of_workers(mut self, input: ::std::option::Option<i32>) -> Self {
256        self.inner = self.inner.set_number_of_workers(input);
257        self
258    }
259    /// <p>The number of workers of a defined <code>WorkerType</code> to use for the session.</p>
260    pub fn get_number_of_workers(&self) -> &::std::option::Option<i32> {
261        self.inner.get_number_of_workers()
262    }
263    /// <p>The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks.</p>
264    /// <ul>
265    /// <li>
266    /// <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
267    /// <li>
268    /// <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
269    /// <li>
270    /// <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
271    /// <li>
272    /// <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
273    /// <li>
274    /// <p>For the <code>G.12X</code> worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
275    /// <li>
276    /// <p>For the <code>G.16X</code> worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
277    /// <li>
278    /// <p>For the <code>R.1X</code> worker type, each worker maps to 1 M-DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
279    /// <li>
280    /// <p>For the <code>R.2X</code> worker type, each worker maps to 2 M-DPU (8 vCPUs, 64 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
281    /// <li>
282    /// <p>For the <code>R.4X</code> worker type, each worker maps to 4 M-DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
283    /// <li>
284    /// <p>For the <code>R.8X</code> worker type, each worker maps to 8 M-DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
285    /// <li>
286    /// <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.</p></li>
287    /// </ul>
288    pub fn worker_type(mut self, input: crate::types::WorkerType) -> Self {
289        self.inner = self.inner.worker_type(input);
290        self
291    }
292    /// <p>The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks.</p>
293    /// <ul>
294    /// <li>
295    /// <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
296    /// <li>
297    /// <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
298    /// <li>
299    /// <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
300    /// <li>
301    /// <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
302    /// <li>
303    /// <p>For the <code>G.12X</code> worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
304    /// <li>
305    /// <p>For the <code>G.16X</code> worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
306    /// <li>
307    /// <p>For the <code>R.1X</code> worker type, each worker maps to 1 M-DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
308    /// <li>
309    /// <p>For the <code>R.2X</code> worker type, each worker maps to 2 M-DPU (8 vCPUs, 64 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
310    /// <li>
311    /// <p>For the <code>R.4X</code> worker type, each worker maps to 4 M-DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
312    /// <li>
313    /// <p>For the <code>R.8X</code> worker type, each worker maps to 8 M-DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
314    /// <li>
315    /// <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.</p></li>
316    /// </ul>
317    pub fn set_worker_type(mut self, input: ::std::option::Option<crate::types::WorkerType>) -> Self {
318        self.inner = self.inner.set_worker_type(input);
319        self
320    }
321    /// <p>The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, or R.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks.</p>
322    /// <ul>
323    /// <li>
324    /// <p>For the <code>G.1X</code> worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
325    /// <li>
326    /// <p>For the <code>G.2X</code> worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.</p></li>
327    /// <li>
328    /// <p>For the <code>G.4X</code> worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
329    /// <li>
330    /// <p>For the <code>G.8X</code> worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
331    /// <li>
332    /// <p>For the <code>G.12X</code> worker type, each worker maps to 12 DPU (48 vCPUs, 192 GB of memory) with 768GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
333    /// <li>
334    /// <p>For the <code>G.16X</code> worker type, each worker maps to 16 DPU (64 vCPUs, 256 GB of memory) with 1024GB disk, and provides 1 executor per worker. We recommend this worker type for jobs with very large workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
335    /// <li>
336    /// <p>For the <code>R.1X</code> worker type, each worker maps to 1 M-DPU (4 vCPUs, 32 GB of memory) with 94GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
337    /// <li>
338    /// <p>For the <code>R.2X</code> worker type, each worker maps to 2 M-DPU (8 vCPUs, 64 GB of memory) with 138GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
339    /// <li>
340    /// <p>For the <code>R.4X</code> worker type, each worker maps to 4 M-DPU (16 vCPUs, 128 GB of memory) with 256GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
341    /// <li>
342    /// <p>For the <code>R.8X</code> worker type, each worker maps to 8 M-DPU (32 vCPUs, 256 GB of memory) with 512GB disk, and provides 1 executor per worker. We recommend this worker type for memory-intensive workloads. This worker type is available only for Glue version 4.0 or later Spark ETL jobs in select Amazon Web Services Regions. For the supported Regions, see <a href="https://docs.aws.amazon.com/glue/latest/dg/add-job.html">Configuring job properties for Spark jobs</a> in the developer guide.</p></li>
343    /// <li>
344    /// <p>For the <code>Z.2X</code> worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.</p></li>
345    /// </ul>
346    pub fn get_worker_type(&self) -> &::std::option::Option<crate::types::WorkerType> {
347        self.inner.get_worker_type()
348    }
349    /// <p>The name of the SecurityConfiguration structure to be used with the session</p>
350    pub fn security_configuration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
351        self.inner = self.inner.security_configuration(input.into());
352        self
353    }
354    /// <p>The name of the SecurityConfiguration structure to be used with the session</p>
355    pub fn set_security_configuration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
356        self.inner = self.inner.set_security_configuration(input);
357        self
358    }
359    /// <p>The name of the SecurityConfiguration structure to be used with the session</p>
360    pub fn get_security_configuration(&self) -> &::std::option::Option<::std::string::String> {
361        self.inner.get_security_configuration()
362    }
363    /// <p>The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.</p>
364    pub fn glue_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365        self.inner = self.inner.glue_version(input.into());
366        self
367    }
368    /// <p>The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.</p>
369    pub fn set_glue_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.inner = self.inner.set_glue_version(input);
371        self
372    }
373    /// <p>The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.</p>
374    pub fn get_glue_version(&self) -> &::std::option::Option<::std::string::String> {
375        self.inner.get_glue_version()
376    }
377    ///
378    /// Adds a key-value pair to `Tags`.
379    ///
380    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
381    ///
382    /// <p>The map of key value pairs (tags) belonging to the session.</p>
383    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
384        self.inner = self.inner.tags(k.into(), v.into());
385        self
386    }
387    /// <p>The map of key value pairs (tags) belonging to the session.</p>
388    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
389        self.inner = self.inner.set_tags(input);
390        self
391    }
392    /// <p>The map of key value pairs (tags) belonging to the session.</p>
393    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
394        self.inner.get_tags()
395    }
396    /// <p>The origin of the request.</p>
397    pub fn request_origin(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
398        self.inner = self.inner.request_origin(input.into());
399        self
400    }
401    /// <p>The origin of the request.</p>
402    pub fn set_request_origin(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
403        self.inner = self.inner.set_request_origin(input);
404        self
405    }
406    /// <p>The origin of the request.</p>
407    pub fn get_request_origin(&self) -> &::std::option::Option<::std::string::String> {
408        self.inner.get_request_origin()
409    }
410    /// <p>The type of session to create.</p>
411    pub fn session_type(mut self, input: crate::types::SessionType) -> Self {
412        self.inner = self.inner.session_type(input);
413        self
414    }
415    /// <p>The type of session to create.</p>
416    pub fn set_session_type(mut self, input: ::std::option::Option<crate::types::SessionType>) -> Self {
417        self.inner = self.inner.set_session_type(input);
418        self
419    }
420    /// <p>The type of session to create.</p>
421    pub fn get_session_type(&self) -> &::std::option::Option<crate::types::SessionType> {
422        self.inner.get_session_type()
423    }
424}