/** * 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 namespace Aws { namespace Glue { namespace Model { /** */ class CreateDevEndpointRequest : public GlueRequest { public: AWS_GLUE_API CreateDevEndpointRequest(); // 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 "CreateDevEndpoint"; } AWS_GLUE_API Aws::String SerializePayload() const override; AWS_GLUE_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name to be assigned to the new DevEndpoint.

*/ inline const Aws::String& GetEndpointName() const{ return m_endpointName; } /** *

The name to be assigned to the new DevEndpoint.

*/ inline bool EndpointNameHasBeenSet() const { return m_endpointNameHasBeenSet; } /** *

The name to be assigned to the new DevEndpoint.

*/ inline void SetEndpointName(const Aws::String& value) { m_endpointNameHasBeenSet = true; m_endpointName = value; } /** *

The name to be assigned to the new DevEndpoint.

*/ inline void SetEndpointName(Aws::String&& value) { m_endpointNameHasBeenSet = true; m_endpointName = std::move(value); } /** *

The name to be assigned to the new DevEndpoint.

*/ inline void SetEndpointName(const char* value) { m_endpointNameHasBeenSet = true; m_endpointName.assign(value); } /** *

The name to be assigned to the new DevEndpoint.

*/ inline CreateDevEndpointRequest& WithEndpointName(const Aws::String& value) { SetEndpointName(value); return *this;} /** *

The name to be assigned to the new DevEndpoint.

*/ inline CreateDevEndpointRequest& WithEndpointName(Aws::String&& value) { SetEndpointName(std::move(value)); return *this;} /** *

The name to be assigned to the new DevEndpoint.

*/ inline CreateDevEndpointRequest& WithEndpointName(const char* value) { SetEndpointName(value); return *this;} /** *

The IAM role for the DevEndpoint.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The IAM role for the DevEndpoint.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The IAM role for the DevEndpoint.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The IAM role for the DevEndpoint.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The IAM role for the DevEndpoint.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The IAM role for the DevEndpoint.

*/ inline CreateDevEndpointRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The IAM role for the DevEndpoint.

*/ inline CreateDevEndpointRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The IAM role for the DevEndpoint.

*/ inline CreateDevEndpointRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline const Aws::Vector& GetSecurityGroupIds() const{ return m_securityGroupIds; } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline void SetSecurityGroupIds(const Aws::Vector& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = value; } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline void SetSecurityGroupIds(Aws::Vector&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::move(value); } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline CreateDevEndpointRequest& WithSecurityGroupIds(const Aws::Vector& value) { SetSecurityGroupIds(value); return *this;} /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline CreateDevEndpointRequest& WithSecurityGroupIds(Aws::Vector&& value) { SetSecurityGroupIds(std::move(value)); return *this;} /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline CreateDevEndpointRequest& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline CreateDevEndpointRequest& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *

Security group IDs for the security groups to be used by the new * DevEndpoint.

*/ inline CreateDevEndpointRequest& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The subnet ID for the new DevEndpoint to use.

*/ inline CreateDevEndpointRequest& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The subnet ID for the new DevEndpoint to use.

*/ inline CreateDevEndpointRequest& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The subnet ID for the new DevEndpoint to use.

*/ inline CreateDevEndpointRequest& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline const Aws::String& GetPublicKey() const{ return m_publicKey; } /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline bool PublicKeyHasBeenSet() const { return m_publicKeyHasBeenSet; } /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline void SetPublicKey(const Aws::String& value) { m_publicKeyHasBeenSet = true; m_publicKey = value; } /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline void SetPublicKey(Aws::String&& value) { m_publicKeyHasBeenSet = true; m_publicKey = std::move(value); } /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline void SetPublicKey(const char* value) { m_publicKeyHasBeenSet = true; m_publicKey.assign(value); } /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline CreateDevEndpointRequest& WithPublicKey(const Aws::String& value) { SetPublicKey(value); return *this;} /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline CreateDevEndpointRequest& WithPublicKey(Aws::String&& value) { SetPublicKey(std::move(value)); return *this;} /** *

The public key to be used by this DevEndpoint for * authentication. This attribute is provided for backward compatibility because * the recommended attribute to use is public keys.

*/ inline CreateDevEndpointRequest& WithPublicKey(const char* value) { SetPublicKey(value); return *this;} /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline const Aws::Vector& GetPublicKeys() const{ return m_publicKeys; } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline bool PublicKeysHasBeenSet() const { return m_publicKeysHasBeenSet; } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline void SetPublicKeys(const Aws::Vector& value) { m_publicKeysHasBeenSet = true; m_publicKeys = value; } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline void SetPublicKeys(Aws::Vector&& value) { m_publicKeysHasBeenSet = true; m_publicKeys = std::move(value); } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline CreateDevEndpointRequest& WithPublicKeys(const Aws::Vector& value) { SetPublicKeys(value); return *this;} /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline CreateDevEndpointRequest& WithPublicKeys(Aws::Vector&& value) { SetPublicKeys(std::move(value)); return *this;} /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline CreateDevEndpointRequest& AddPublicKeys(const Aws::String& value) { m_publicKeysHasBeenSet = true; m_publicKeys.push_back(value); return *this; } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline CreateDevEndpointRequest& AddPublicKeys(Aws::String&& value) { m_publicKeysHasBeenSet = true; m_publicKeys.push_back(std::move(value)); return *this; } /** *

A list of public keys to be used by the development endpoints for * authentication. The use of this attribute is preferred over a single public key * because the public keys allow you to have a different private key per * client.

If you previously created an endpoint with a public key, * you must remove that key to be able to set a list of public keys. Call the * UpdateDevEndpoint API with the public key content in the * deletePublicKeys attribute, and the list of new keys in the * addPublicKeys attribute.

*/ inline CreateDevEndpointRequest& AddPublicKeys(const char* value) { m_publicKeysHasBeenSet = true; m_publicKeys.push_back(value); return *this; } /** *

The number of Glue Data Processing Units (DPUs) to allocate to this * DevEndpoint.

*/ inline int GetNumberOfNodes() const{ return m_numberOfNodes; } /** *

The number of Glue Data Processing Units (DPUs) to allocate to this * DevEndpoint.

*/ inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; } /** *

The number of Glue Data Processing Units (DPUs) to allocate to this * DevEndpoint.

*/ inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; } /** *

The number of Glue Data Processing Units (DPUs) to allocate to this * DevEndpoint.

*/ inline CreateDevEndpointRequest& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;} /** *

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

The type of predefined worker that is allocated to the development endpoint. * Accepts a value of Standard, G.1X, or G.2X.

  • For the * Standard worker type, each worker provides 4 vCPU, 16 GB of memory * and a 50GB disk, and 2 executors per worker.

  • For the * G.1X worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of * memory, 64 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

  • For the * G.2X worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of * memory, 128 GB disk), and provides 1 executor per worker. We recommend this * worker type for memory-intensive jobs.

Known issue: when a * development endpoint is created with the G.2X * WorkerType configuration, the Spark drivers for the development * endpoint will run on 4 vCPU, 16 GB of memory, and a 64 GB disk.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

Glue version determines the versions of Apache Spark and Python that Glue * supports. The Python version indicates the version supported for running your * ETL scripts on development endpoints.

For more information about the * available Glue versions and corresponding Spark and Python versions, see Glue version * in the developer guide.

Development endpoints that are created without * specifying a Glue version default to Glue 0.9.

You can specify a version * of Python support for development endpoints by using the Arguments * parameter in the CreateDevEndpoint or * UpdateDevEndpoint APIs. If no arguments are provided, the version * defaults to Python 2.

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

The number of workers of a defined workerType that are allocated * to the development endpoint.

The maximum number of workers you can define * are 299 for G.1X, and 149 for G.2X.

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

The number of workers of a defined workerType that are allocated * to the development endpoint.

The maximum number of workers you can define * are 299 for G.1X, and 149 for G.2X.

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

The number of workers of a defined workerType that are allocated * to the development endpoint.

The maximum number of workers you can define * are 299 for G.1X, and 149 for G.2X.

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

The number of workers of a defined workerType that are allocated * to the development endpoint.

The maximum number of workers you can define * are 299 for G.1X, and 149 for G.2X.

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

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline const Aws::String& GetExtraPythonLibsS3Path() const{ return m_extraPythonLibsS3Path; } /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline bool ExtraPythonLibsS3PathHasBeenSet() const { return m_extraPythonLibsS3PathHasBeenSet; } /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline void SetExtraPythonLibsS3Path(const Aws::String& value) { m_extraPythonLibsS3PathHasBeenSet = true; m_extraPythonLibsS3Path = value; } /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline void SetExtraPythonLibsS3Path(Aws::String&& value) { m_extraPythonLibsS3PathHasBeenSet = true; m_extraPythonLibsS3Path = std::move(value); } /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline void SetExtraPythonLibsS3Path(const char* value) { m_extraPythonLibsS3PathHasBeenSet = true; m_extraPythonLibsS3Path.assign(value); } /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline CreateDevEndpointRequest& WithExtraPythonLibsS3Path(const Aws::String& value) { SetExtraPythonLibsS3Path(value); return *this;} /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline CreateDevEndpointRequest& WithExtraPythonLibsS3Path(Aws::String&& value) { SetExtraPythonLibsS3Path(std::move(value)); return *this;} /** *

The paths to one or more Python libraries in an Amazon S3 bucket that should * be loaded in your DevEndpoint. Multiple values must be complete * paths separated by a comma.

You can only use pure Python libraries * with a DevEndpoint. Libraries that rely on C extensions, such as * the pandas Python data analysis library, * are not yet supported.

*/ inline CreateDevEndpointRequest& WithExtraPythonLibsS3Path(const char* value) { SetExtraPythonLibsS3Path(value); return *this;} /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline const Aws::String& GetExtraJarsS3Path() const{ return m_extraJarsS3Path; } /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline bool ExtraJarsS3PathHasBeenSet() const { return m_extraJarsS3PathHasBeenSet; } /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline void SetExtraJarsS3Path(const Aws::String& value) { m_extraJarsS3PathHasBeenSet = true; m_extraJarsS3Path = value; } /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline void SetExtraJarsS3Path(Aws::String&& value) { m_extraJarsS3PathHasBeenSet = true; m_extraJarsS3Path = std::move(value); } /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline void SetExtraJarsS3Path(const char* value) { m_extraJarsS3PathHasBeenSet = true; m_extraJarsS3Path.assign(value); } /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline CreateDevEndpointRequest& WithExtraJarsS3Path(const Aws::String& value) { SetExtraJarsS3Path(value); return *this;} /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline CreateDevEndpointRequest& WithExtraJarsS3Path(Aws::String&& value) { SetExtraJarsS3Path(std::move(value)); return *this;} /** *

The path to one or more Java .jar files in an S3 bucket that * should be loaded in your DevEndpoint.

*/ inline CreateDevEndpointRequest& WithExtraJarsS3Path(const char* value) { SetExtraJarsS3Path(value); return *this;} /** *

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The name of the SecurityConfiguration structure to be used with * this DevEndpoint.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

The tags to use with this DevEndpoint. You may use tags to limit access to * the DevEndpoint. For more information about tags in Glue, see Amazon Web * Services Tags in Glue in the developer guide.

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

A map of arguments used to configure the DevEndpoint.

*/ inline const Aws::Map& GetArguments() const{ return m_arguments; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline bool ArgumentsHasBeenSet() const { return m_argumentsHasBeenSet; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline void SetArguments(const Aws::Map& value) { m_argumentsHasBeenSet = true; m_arguments = value; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline void SetArguments(Aws::Map&& value) { m_argumentsHasBeenSet = true; m_arguments = std::move(value); } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& WithArguments(const Aws::Map& value) { SetArguments(value); return *this;} /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& WithArguments(Aws::Map&& value) { SetArguments(std::move(value)); return *this;} /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(const Aws::String& key, const Aws::String& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, value); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(Aws::String&& key, const Aws::String& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), value); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(const Aws::String& key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, std::move(value)); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(Aws::String&& key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), std::move(value)); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(const char* key, Aws::String&& value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, std::move(value)); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(Aws::String&& key, const char* value) { m_argumentsHasBeenSet = true; m_arguments.emplace(std::move(key), value); return *this; } /** *

A map of arguments used to configure the DevEndpoint.

*/ inline CreateDevEndpointRequest& AddArguments(const char* key, const char* value) { m_argumentsHasBeenSet = true; m_arguments.emplace(key, value); return *this; } private: Aws::String m_endpointName; bool m_endpointNameHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Vector m_securityGroupIds; bool m_securityGroupIdsHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; Aws::String m_publicKey; bool m_publicKeyHasBeenSet = false; Aws::Vector m_publicKeys; bool m_publicKeysHasBeenSet = false; int m_numberOfNodes; bool m_numberOfNodesHasBeenSet = false; WorkerType m_workerType; bool m_workerTypeHasBeenSet = false; Aws::String m_glueVersion; bool m_glueVersionHasBeenSet = false; int m_numberOfWorkers; bool m_numberOfWorkersHasBeenSet = false; Aws::String m_extraPythonLibsS3Path; bool m_extraPythonLibsS3PathHasBeenSet = false; Aws::String m_extraJarsS3Path; bool m_extraJarsS3PathHasBeenSet = false; Aws::String m_securityConfiguration; bool m_securityConfigurationHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::Map m_arguments; bool m_argumentsHasBeenSet = false; }; } // namespace Model } // namespace Glue } // namespace Aws