/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Glue { namespace Model { /** *

Request to create a new session.

See Also:

AWS * API Reference

*/ class CreateSessionRequest : public GlueRequest { public: AWS_GLUE_API CreateSessionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateSession"; } AWS_GLUE_API Aws::String SerializePayload() const override; AWS_GLUE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The ID of the session request.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the session request.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the session request.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the session request.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the session request.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the session request.

*/ inline CreateSessionRequest& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the session request.

*/ inline CreateSessionRequest& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the session request.

*/ inline CreateSessionRequest& WithId(const char* value) { SetId(value); return *this;} /** *

The description of the session.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the session.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the session.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the session.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the session.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the session.

*/ inline CreateSessionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the session.

*/ inline CreateSessionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the session.

*/ inline CreateSessionRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The IAM Role ARN

*/ inline const Aws::String& GetRole() const{ return m_role; } /** *

The IAM Role ARN

*/ inline bool RoleHasBeenSet() const { return m_roleHasBeenSet; } /** *

The IAM Role ARN

*/ inline void SetRole(const Aws::String& value) { m_roleHasBeenSet = true; m_role = value; } /** *

The IAM Role ARN

*/ inline void SetRole(Aws::String&& value) { m_roleHasBeenSet = true; m_role = std::move(value); } /** *

The IAM Role ARN

*/ inline void SetRole(const char* value) { m_roleHasBeenSet = true; m_role.assign(value); } /** *

The IAM Role ARN

*/ inline CreateSessionRequest& WithRole(const Aws::String& value) { SetRole(value); return *this;} /** *

The IAM Role ARN

*/ inline CreateSessionRequest& WithRole(Aws::String&& value) { SetRole(std::move(value)); return *this;} /** *

The IAM Role ARN

*/ inline CreateSessionRequest& WithRole(const char* value) { SetRole(value); return *this;} /** *

The SessionCommand that runs the job.

*/ inline const SessionCommand& GetCommand() const{ return m_command; } /** *

The SessionCommand that runs the job.

*/ inline bool CommandHasBeenSet() const { return m_commandHasBeenSet; } /** *

The SessionCommand that runs the job.

*/ inline void SetCommand(const SessionCommand& value) { m_commandHasBeenSet = true; m_command = value; } /** *

The SessionCommand that runs the job.

*/ inline void SetCommand(SessionCommand&& value) { m_commandHasBeenSet = true; m_command = std::move(value); } /** *

The SessionCommand that runs the job.

*/ inline CreateSessionRequest& WithCommand(const SessionCommand& value) { SetCommand(value); return *this;} /** *

The SessionCommand that runs the job.

*/ inline CreateSessionRequest& WithCommand(SessionCommand&& value) { SetCommand(std::move(value)); return *this;} /** *

The number of minutes before session times out. Default for Spark ETL jobs * is 48 hours (2880 minutes), the maximum session lifetime for this job type. * Consult the documentation for other job types.

*/ inline int GetTimeout() const{ return m_timeout; } /** *

The number of minutes before session times out. Default for Spark ETL jobs * is 48 hours (2880 minutes), the maximum session lifetime for this job type. * Consult the documentation for other job types.

*/ inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; } /** *

The number of minutes before session times out. Default for Spark ETL jobs * is 48 hours (2880 minutes), the maximum session lifetime for this job type. * Consult the documentation for other job types.

*/ inline void SetTimeout(int value) { m_timeoutHasBeenSet = true; m_timeout = value; } /** *

The number of minutes before session times out. Default for Spark ETL jobs * is 48 hours (2880 minutes), the maximum session lifetime for this job type. * Consult the documentation for other job types.

*/ inline CreateSessionRequest& WithTimeout(int value) { SetTimeout(value); return *this;} /** *

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. *

*/ inline int GetIdleTimeout() const{ return m_idleTimeout; } /** *

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. *

*/ inline bool IdleTimeoutHasBeenSet() const { return m_idleTimeoutHasBeenSet; } /** *

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. *

*/ inline void SetIdleTimeout(int value) { m_idleTimeoutHasBeenSet = true; m_idleTimeout = value; } /** *

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. *

*/ inline CreateSessionRequest& WithIdleTimeout(int value) { SetIdleTimeout(value); return *this;} /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline const Aws::Map& GetDefaultArguments() const{ return m_defaultArguments; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline bool DefaultArgumentsHasBeenSet() const { return m_defaultArgumentsHasBeenSet; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline void SetDefaultArguments(const Aws::Map& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments = value; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline void SetDefaultArguments(Aws::Map&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments = std::move(value); } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& WithDefaultArguments(const Aws::Map& value) { SetDefaultArguments(value); return *this;} /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& WithDefaultArguments(Aws::Map&& value) { SetDefaultArguments(std::move(value)); return *this;} /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(const Aws::String& key, const Aws::String& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, value); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(Aws::String&& key, const Aws::String& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), value); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(const Aws::String& key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, std::move(value)); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(Aws::String&& key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), std::move(value)); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(const char* key, Aws::String&& value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, std::move(value)); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(Aws::String&& key, const char* value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(std::move(key), value); return *this; } /** *

A map array of key-value pairs. Max is 75 pairs.

*/ inline CreateSessionRequest& AddDefaultArguments(const char* key, const char* value) { m_defaultArgumentsHasBeenSet = true; m_defaultArguments.emplace(key, value); return *this; } /** *

The number of connections to use for the session.

*/ inline const ConnectionsList& GetConnections() const{ return m_connections; } /** *

The number of connections to use for the session.

*/ inline bool ConnectionsHasBeenSet() const { return m_connectionsHasBeenSet; } /** *

The number of connections to use for the session.

*/ inline void SetConnections(const ConnectionsList& value) { m_connectionsHasBeenSet = true; m_connections = value; } /** *

The number of connections to use for the session.

*/ inline void SetConnections(ConnectionsList&& value) { m_connectionsHasBeenSet = true; m_connections = std::move(value); } /** *

The number of connections to use for the session.

*/ inline CreateSessionRequest& WithConnections(const ConnectionsList& value) { SetConnections(value); return *this;} /** *

The number of connections to use for the session.

*/ inline CreateSessionRequest& WithConnections(ConnectionsList&& value) { SetConnections(std::move(value)); return *this;} /** *

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.

*/ inline double GetMaxCapacity() const{ return m_maxCapacity; } /** *

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.

*/ inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; } /** *

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.

*/ inline void SetMaxCapacity(double value) { m_maxCapacityHasBeenSet = true; m_maxCapacity = value; } /** *

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.

*/ inline CreateSessionRequest& WithMaxCapacity(double value) { SetMaxCapacity(value); return *this;} /** *

The number of workers of a defined WorkerType to use for the * session.

*/ inline int GetNumberOfWorkers() const{ return m_numberOfWorkers; } /** *

The number of workers of a defined WorkerType to use for the * session.

*/ inline bool NumberOfWorkersHasBeenSet() const { return m_numberOfWorkersHasBeenSet; } /** *

The number of workers of a defined WorkerType to use for the * session.

*/ inline void SetNumberOfWorkers(int value) { m_numberOfWorkersHasBeenSet = true; m_numberOfWorkers = value; } /** *

The number of workers of a defined WorkerType to use for the * session.

*/ inline CreateSessionRequest& WithNumberOfWorkers(int value) { SetNumberOfWorkers(value); return *this;} /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline const WorkerType& GetWorkerType() const{ return m_workerType; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline bool WorkerTypeHasBeenSet() const { return m_workerTypeHasBeenSet; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline void SetWorkerType(const WorkerType& value) { m_workerTypeHasBeenSet = true; m_workerType = value; } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline void SetWorkerType(WorkerType&& value) { m_workerTypeHasBeenSet = true; m_workerType = std::move(value); } /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline CreateSessionRequest& WithWorkerType(const WorkerType& value) { SetWorkerType(value); return *this;} /** *

The type of predefined worker that is allocated when a job runs. Accepts a * value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for * Ray notebooks.

  • For the G.1X worker type, each * worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately * 34GB free), 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.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of * memory) with 128GB disk (approximately 77GB free), 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.

  • For the G.4X worker type, each worker maps * to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), * 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 the following Amazon Web Services Regions: US East (Ohio), US East * (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific * (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe * (Ireland), and Europe (Stockholm).

  • For the G.8X * worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB * disk (approximately 487GB free), 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 the same Amazon Web Services * Regions as supported for the G.4X worker type.

  • *

    For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, * 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to * 8 Ray workers based on the autoscaler.

*/ inline CreateSessionRequest& WithWorkerType(WorkerType&& value) { SetWorkerType(std::move(value)); return *this;} /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline const Aws::String& GetSecurityConfiguration() const{ return m_securityConfiguration; } /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline bool SecurityConfigurationHasBeenSet() const { return m_securityConfigurationHasBeenSet; } /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline void SetSecurityConfiguration(const Aws::String& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = value; } /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline void SetSecurityConfiguration(Aws::String&& value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration = std::move(value); } /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline void SetSecurityConfiguration(const char* value) { m_securityConfigurationHasBeenSet = true; m_securityConfiguration.assign(value); } /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline CreateSessionRequest& WithSecurityConfiguration(const Aws::String& value) { SetSecurityConfiguration(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline CreateSessionRequest& WithSecurityConfiguration(Aws::String&& value) { SetSecurityConfiguration(std::move(value)); return *this;} /** *

The name of the SecurityConfiguration structure to be used with the session *

*/ inline CreateSessionRequest& WithSecurityConfiguration(const char* value) { SetSecurityConfiguration(value); return *this;} /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline const Aws::String& GetGlueVersion() const{ return m_glueVersion; } /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline bool GlueVersionHasBeenSet() const { return m_glueVersionHasBeenSet; } /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline void SetGlueVersion(const Aws::String& value) { m_glueVersionHasBeenSet = true; m_glueVersion = value; } /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline void SetGlueVersion(Aws::String&& value) { m_glueVersionHasBeenSet = true; m_glueVersion = std::move(value); } /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline void SetGlueVersion(const char* value) { m_glueVersionHasBeenSet = true; m_glueVersion.assign(value); } /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline CreateSessionRequest& WithGlueVersion(const Aws::String& value) { SetGlueVersion(value); return *this;} /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline CreateSessionRequest& WithGlueVersion(Aws::String&& value) { SetGlueVersion(std::move(value)); return *this;} /** *

The Glue version determines the versions of Apache Spark and Python that Glue * supports. The GlueVersion must be greater than 2.0.

*/ inline CreateSessionRequest& WithGlueVersion(const char* value) { SetGlueVersion(value); return *this;} /** *

The map of key value pairs (tags) belonging to the session.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

The map of key value pairs (tags) belonging to the session.

*/ inline CreateSessionRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The origin of the request.

*/ inline const Aws::String& GetRequestOrigin() const{ return m_requestOrigin; } /** *

The origin of the request.

*/ inline bool RequestOriginHasBeenSet() const { return m_requestOriginHasBeenSet; } /** *

The origin of the request.

*/ inline void SetRequestOrigin(const Aws::String& value) { m_requestOriginHasBeenSet = true; m_requestOrigin = value; } /** *

The origin of the request.

*/ inline void SetRequestOrigin(Aws::String&& value) { m_requestOriginHasBeenSet = true; m_requestOrigin = std::move(value); } /** *

The origin of the request.

*/ inline void SetRequestOrigin(const char* value) { m_requestOriginHasBeenSet = true; m_requestOrigin.assign(value); } /** *

The origin of the request.

*/ inline CreateSessionRequest& WithRequestOrigin(const Aws::String& value) { SetRequestOrigin(value); return *this;} /** *

The origin of the request.

*/ inline CreateSessionRequest& WithRequestOrigin(Aws::String&& value) { SetRequestOrigin(std::move(value)); return *this;} /** *

The origin of the request.

*/ inline CreateSessionRequest& WithRequestOrigin(const char* value) { SetRequestOrigin(value); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_role; bool m_roleHasBeenSet = false; SessionCommand m_command; bool m_commandHasBeenSet = false; int m_timeout; bool m_timeoutHasBeenSet = false; int m_idleTimeout; bool m_idleTimeoutHasBeenSet = false; Aws::Map m_defaultArguments; bool m_defaultArgumentsHasBeenSet = false; ConnectionsList m_connections; bool m_connectionsHasBeenSet = false; double m_maxCapacity; bool m_maxCapacityHasBeenSet = false; int m_numberOfWorkers; bool m_numberOfWorkersHasBeenSet = false; WorkerType m_workerType; bool m_workerTypeHasBeenSet = false; Aws::String m_securityConfiguration; bool m_securityConfigurationHasBeenSet = false; Aws::String m_glueVersion; bool m_glueVersionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_requestOrigin; bool m_requestOriginHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws