/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.glue.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateDevEndpointRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The name to be assigned to the new DevEndpoint. *

*/ private String endpointName; /** *

* The IAM role for the DevEndpoint. *

*/ private String roleArn; /** *

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

*/ private java.util.List securityGroupIds; /** *

* The subnet ID for the new DevEndpoint to use. *

*/ private String subnetId; /** *

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

*/ private String publicKey; /** *

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

*
*/ private java.util.List publicKeys; /** *

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

*/ private Integer numberOfNodes; /** *

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

* *

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

*/ private String workerType; /** *

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

*/ private String glueVersion; /** *

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

*/ private Integer numberOfWorkers; /** *

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

*
*/ private String extraPythonLibsS3Path; /** *

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

*/ private String extraJarsS3Path; /** *

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

*/ private String securityConfiguration; /** *

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

*/ private java.util.Map tags; /** *

* A map of arguments used to configure the DevEndpoint. *

*/ private java.util.Map arguments; /** *

* The name to be assigned to the new DevEndpoint. *

* * @param endpointName * The name to be assigned to the new DevEndpoint. */ public void setEndpointName(String endpointName) { this.endpointName = endpointName; } /** *

* The name to be assigned to the new DevEndpoint. *

* * @return The name to be assigned to the new DevEndpoint. */ public String getEndpointName() { return this.endpointName; } /** *

* The name to be assigned to the new DevEndpoint. *

* * @param endpointName * The name to be assigned to the new DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withEndpointName(String endpointName) { setEndpointName(endpointName); return this; } /** *

* The IAM role for the DevEndpoint. *

* * @param roleArn * The IAM role for the DevEndpoint. */ public void setRoleArn(String roleArn) { this.roleArn = roleArn; } /** *

* The IAM role for the DevEndpoint. *

* * @return The IAM role for the DevEndpoint. */ public String getRoleArn() { return this.roleArn; } /** *

* The IAM role for the DevEndpoint. *

* * @param roleArn * The IAM role for the DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withRoleArn(String roleArn) { setRoleArn(roleArn); return this; } /** *

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

* * @return Security group IDs for the security groups to be used by the new DevEndpoint. */ public java.util.List getSecurityGroupIds() { return securityGroupIds; } /** *

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

* * @param securityGroupIds * Security group IDs for the security groups to be used by the new DevEndpoint. */ public void setSecurityGroupIds(java.util.Collection securityGroupIds) { if (securityGroupIds == null) { this.securityGroupIds = null; return; } this.securityGroupIds = new java.util.ArrayList(securityGroupIds); } /** *

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

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSecurityGroupIds(java.util.Collection)} or {@link #withSecurityGroupIds(java.util.Collection)} if you * want to override the existing values. *

* * @param securityGroupIds * Security group IDs for the security groups to be used by the new DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withSecurityGroupIds(String... securityGroupIds) { if (this.securityGroupIds == null) { setSecurityGroupIds(new java.util.ArrayList(securityGroupIds.length)); } for (String ele : securityGroupIds) { this.securityGroupIds.add(ele); } return this; } /** *

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

* * @param securityGroupIds * Security group IDs for the security groups to be used by the new DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withSecurityGroupIds(java.util.Collection securityGroupIds) { setSecurityGroupIds(securityGroupIds); return this; } /** *

* The subnet ID for the new DevEndpoint to use. *

* * @param subnetId * The subnet ID for the new DevEndpoint to use. */ public void setSubnetId(String subnetId) { this.subnetId = subnetId; } /** *

* The subnet ID for the new DevEndpoint to use. *

* * @return The subnet ID for the new DevEndpoint to use. */ public String getSubnetId() { return this.subnetId; } /** *

* The subnet ID for the new DevEndpoint to use. *

* * @param subnetId * The subnet ID for the new DevEndpoint to use. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withSubnetId(String subnetId) { setSubnetId(subnetId); 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. *

* * @param 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. */ public void setPublicKey(String publicKey) { this.publicKey = 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. *

* * @return 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. */ public String getPublicKey() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withPublicKey(String publicKey) { setPublicKey(publicKey); 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. *

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

*/ public java.util.List getPublicKeys() { return 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. *

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

*/ public void setPublicKeys(java.util.Collection publicKeys) { if (publicKeys == null) { this.publicKeys = null; return; } this.publicKeys = new java.util.ArrayList(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. *

*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setPublicKeys(java.util.Collection)} or {@link #withPublicKeys(java.util.Collection)} if you want to * override the existing values. *

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

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withPublicKeys(String... publicKeys) { if (this.publicKeys == null) { setPublicKeys(new java.util.ArrayList(publicKeys.length)); } for (String ele : publicKeys) { this.publicKeys.add(ele); } 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. *

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

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withPublicKeys(java.util.Collection publicKeys) { setPublicKeys(publicKeys); return this; } /** *

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

* * @param numberOfNodes * The number of Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. */ public void setNumberOfNodes(Integer numberOfNodes) { this.numberOfNodes = numberOfNodes; } /** *

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

* * @return The number of Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. */ public Integer getNumberOfNodes() { return this.numberOfNodes; } /** *

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

* * @param numberOfNodes * The number of Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withNumberOfNodes(Integer numberOfNodes) { setNumberOfNodes(numberOfNodes); 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. *

* * @param 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. * @see WorkerType */ public void setWorkerType(String workerType) { this.workerType = 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. *

* * @return 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. * @see WorkerType */ public String getWorkerType() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see WorkerType */ public CreateDevEndpointRequest withWorkerType(String workerType) { setWorkerType(workerType); 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. * @see WorkerType */ public CreateDevEndpointRequest withWorkerType(WorkerType workerType) { this.workerType = workerType.toString(); 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. *

* * @param 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. */ public void setGlueVersion(String glueVersion) { this.glueVersion = 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. *

* * @return 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. */ public String getGlueVersion() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withGlueVersion(String glueVersion) { setGlueVersion(glueVersion); 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. *

* * @param 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. */ public void setNumberOfWorkers(Integer numberOfWorkers) { this.numberOfWorkers = 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. *

* * @return 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. */ public Integer getNumberOfWorkers() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withNumberOfWorkers(Integer numberOfWorkers) { setNumberOfWorkers(numberOfWorkers); 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. *

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

*/ public void setExtraPythonLibsS3Path(String extraPythonLibsS3Path) { this.extraPythonLibsS3Path = 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. *

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

*/ public String getExtraPythonLibsS3Path() { return this.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. *

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

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withExtraPythonLibsS3Path(String extraPythonLibsS3Path) { setExtraPythonLibsS3Path(extraPythonLibsS3Path); return this; } /** *

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

* * @param extraJarsS3Path * The path to one or more Java .jar files in an S3 bucket that should be loaded in your * DevEndpoint. */ public void setExtraJarsS3Path(String extraJarsS3Path) { this.extraJarsS3Path = extraJarsS3Path; } /** *

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

* * @return The path to one or more Java .jar files in an S3 bucket that should be loaded in your * DevEndpoint. */ public String getExtraJarsS3Path() { return this.extraJarsS3Path; } /** *

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

* * @param extraJarsS3Path * The path to one or more Java .jar files in an S3 bucket that should be loaded in your * DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withExtraJarsS3Path(String extraJarsS3Path) { setExtraJarsS3Path(extraJarsS3Path); return this; } /** *

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

* * @param securityConfiguration * The name of the SecurityConfiguration structure to be used with this DevEndpoint * . */ public void setSecurityConfiguration(String securityConfiguration) { this.securityConfiguration = securityConfiguration; } /** *

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

* * @return The name of the SecurityConfiguration structure to be used with this * DevEndpoint. */ public String getSecurityConfiguration() { return this.securityConfiguration; } /** *

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

* * @param securityConfiguration * The name of the SecurityConfiguration structure to be used with this DevEndpoint * . * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withSecurityConfiguration(String securityConfiguration) { setSecurityConfiguration(securityConfiguration); 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. *

* * @return 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. */ public java.util.Map getTags() { return 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. *

* * @param 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. */ public void setTags(java.util.Map tags) { this.tags = 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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withTags(java.util.Map tags) { setTags(tags); return this; } /** * Add a single Tags entry * * @see CreateDevEndpointRequest#withTags * @returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest addTagsEntry(String key, String value) { if (null == this.tags) { this.tags = new java.util.HashMap(); } if (this.tags.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.tags.put(key, value); return this; } /** * Removes all the entries added into Tags. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest clearTagsEntries() { this.tags = null; return this; } /** *

* A map of arguments used to configure the DevEndpoint. *

* * @return A map of arguments used to configure the DevEndpoint. */ public java.util.Map getArguments() { return arguments; } /** *

* A map of arguments used to configure the DevEndpoint. *

* * @param arguments * A map of arguments used to configure the DevEndpoint. */ public void setArguments(java.util.Map arguments) { this.arguments = arguments; } /** *

* A map of arguments used to configure the DevEndpoint. *

* * @param arguments * A map of arguments used to configure the DevEndpoint. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest withArguments(java.util.Map arguments) { setArguments(arguments); return this; } /** * Add a single Arguments entry * * @see CreateDevEndpointRequest#withArguments * @returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest addArgumentsEntry(String key, String value) { if (null == this.arguments) { this.arguments = new java.util.HashMap(); } if (this.arguments.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.arguments.put(key, value); return this; } /** * Removes all the entries added into Arguments. * * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDevEndpointRequest clearArgumentsEntries() { this.arguments = null; return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getEndpointName() != null) sb.append("EndpointName: ").append(getEndpointName()).append(","); if (getRoleArn() != null) sb.append("RoleArn: ").append(getRoleArn()).append(","); if (getSecurityGroupIds() != null) sb.append("SecurityGroupIds: ").append(getSecurityGroupIds()).append(","); if (getSubnetId() != null) sb.append("SubnetId: ").append(getSubnetId()).append(","); if (getPublicKey() != null) sb.append("PublicKey: ").append(getPublicKey()).append(","); if (getPublicKeys() != null) sb.append("PublicKeys: ").append(getPublicKeys()).append(","); if (getNumberOfNodes() != null) sb.append("NumberOfNodes: ").append(getNumberOfNodes()).append(","); if (getWorkerType() != null) sb.append("WorkerType: ").append(getWorkerType()).append(","); if (getGlueVersion() != null) sb.append("GlueVersion: ").append(getGlueVersion()).append(","); if (getNumberOfWorkers() != null) sb.append("NumberOfWorkers: ").append(getNumberOfWorkers()).append(","); if (getExtraPythonLibsS3Path() != null) sb.append("ExtraPythonLibsS3Path: ").append(getExtraPythonLibsS3Path()).append(","); if (getExtraJarsS3Path() != null) sb.append("ExtraJarsS3Path: ").append(getExtraJarsS3Path()).append(","); if (getSecurityConfiguration() != null) sb.append("SecurityConfiguration: ").append(getSecurityConfiguration()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getArguments() != null) sb.append("Arguments: ").append(getArguments()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateDevEndpointRequest == false) return false; CreateDevEndpointRequest other = (CreateDevEndpointRequest) obj; if (other.getEndpointName() == null ^ this.getEndpointName() == null) return false; if (other.getEndpointName() != null && other.getEndpointName().equals(this.getEndpointName()) == false) return false; if (other.getRoleArn() == null ^ this.getRoleArn() == null) return false; if (other.getRoleArn() != null && other.getRoleArn().equals(this.getRoleArn()) == false) return false; if (other.getSecurityGroupIds() == null ^ this.getSecurityGroupIds() == null) return false; if (other.getSecurityGroupIds() != null && other.getSecurityGroupIds().equals(this.getSecurityGroupIds()) == false) return false; if (other.getSubnetId() == null ^ this.getSubnetId() == null) return false; if (other.getSubnetId() != null && other.getSubnetId().equals(this.getSubnetId()) == false) return false; if (other.getPublicKey() == null ^ this.getPublicKey() == null) return false; if (other.getPublicKey() != null && other.getPublicKey().equals(this.getPublicKey()) == false) return false; if (other.getPublicKeys() == null ^ this.getPublicKeys() == null) return false; if (other.getPublicKeys() != null && other.getPublicKeys().equals(this.getPublicKeys()) == false) return false; if (other.getNumberOfNodes() == null ^ this.getNumberOfNodes() == null) return false; if (other.getNumberOfNodes() != null && other.getNumberOfNodes().equals(this.getNumberOfNodes()) == false) return false; if (other.getWorkerType() == null ^ this.getWorkerType() == null) return false; if (other.getWorkerType() != null && other.getWorkerType().equals(this.getWorkerType()) == false) return false; if (other.getGlueVersion() == null ^ this.getGlueVersion() == null) return false; if (other.getGlueVersion() != null && other.getGlueVersion().equals(this.getGlueVersion()) == false) return false; if (other.getNumberOfWorkers() == null ^ this.getNumberOfWorkers() == null) return false; if (other.getNumberOfWorkers() != null && other.getNumberOfWorkers().equals(this.getNumberOfWorkers()) == false) return false; if (other.getExtraPythonLibsS3Path() == null ^ this.getExtraPythonLibsS3Path() == null) return false; if (other.getExtraPythonLibsS3Path() != null && other.getExtraPythonLibsS3Path().equals(this.getExtraPythonLibsS3Path()) == false) return false; if (other.getExtraJarsS3Path() == null ^ this.getExtraJarsS3Path() == null) return false; if (other.getExtraJarsS3Path() != null && other.getExtraJarsS3Path().equals(this.getExtraJarsS3Path()) == false) return false; if (other.getSecurityConfiguration() == null ^ this.getSecurityConfiguration() == null) return false; if (other.getSecurityConfiguration() != null && other.getSecurityConfiguration().equals(this.getSecurityConfiguration()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getArguments() == null ^ this.getArguments() == null) return false; if (other.getArguments() != null && other.getArguments().equals(this.getArguments()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getEndpointName() == null) ? 0 : getEndpointName().hashCode()); hashCode = prime * hashCode + ((getRoleArn() == null) ? 0 : getRoleArn().hashCode()); hashCode = prime * hashCode + ((getSecurityGroupIds() == null) ? 0 : getSecurityGroupIds().hashCode()); hashCode = prime * hashCode + ((getSubnetId() == null) ? 0 : getSubnetId().hashCode()); hashCode = prime * hashCode + ((getPublicKey() == null) ? 0 : getPublicKey().hashCode()); hashCode = prime * hashCode + ((getPublicKeys() == null) ? 0 : getPublicKeys().hashCode()); hashCode = prime * hashCode + ((getNumberOfNodes() == null) ? 0 : getNumberOfNodes().hashCode()); hashCode = prime * hashCode + ((getWorkerType() == null) ? 0 : getWorkerType().hashCode()); hashCode = prime * hashCode + ((getGlueVersion() == null) ? 0 : getGlueVersion().hashCode()); hashCode = prime * hashCode + ((getNumberOfWorkers() == null) ? 0 : getNumberOfWorkers().hashCode()); hashCode = prime * hashCode + ((getExtraPythonLibsS3Path() == null) ? 0 : getExtraPythonLibsS3Path().hashCode()); hashCode = prime * hashCode + ((getExtraJarsS3Path() == null) ? 0 : getExtraJarsS3Path().hashCode()); hashCode = prime * hashCode + ((getSecurityConfiguration() == null) ? 0 : getSecurityConfiguration().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getArguments() == null) ? 0 : getArguments().hashCode()); return hashCode; } @Override public CreateDevEndpointRequest clone() { return (CreateDevEndpointRequest) super.clone(); } }