/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the glue-2017-03-31.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Glue.Model { /// /// Container for the parameters to the CreateDevEndpoint operation. /// Creates a new development endpoint. /// public partial class CreateDevEndpointRequest : AmazonGlueRequest { private Dictionary _arguments = new Dictionary(); private string _endpointName; private string _extraJarsS3Path; private string _extraPythonLibsS3Path; private string _glueVersion; private int? _numberOfNodes; private int? _numberOfWorkers; private string _publicKey; private List _publicKeys = new List(); private string _roleArn; private string _securityConfiguration; private List _securityGroupIds = new List(); private string _subnetId; private Dictionary _tags = new Dictionary(); private WorkerType _workerType; /// /// Gets and sets the property Arguments. /// /// A map of arguments used to configure the DevEndpoint. /// /// [AWSProperty(Min=0, Max=100)] public Dictionary Arguments { get { return this._arguments; } set { this._arguments = value; } } // Check to see if Arguments property is set internal bool IsSetArguments() { return this._arguments != null && this._arguments.Count > 0; } /// /// Gets and sets the property EndpointName. /// /// The name to be assigned to the new DevEndpoint. /// /// [AWSProperty(Required=true)] public string EndpointName { get { return this._endpointName; } set { this._endpointName = value; } } // Check to see if EndpointName property is set internal bool IsSetEndpointName() { return this._endpointName != null; } /// /// Gets and sets the property ExtraJarsS3Path. /// /// The path to one or more Java .jar files in an S3 bucket that should be /// loaded in your DevEndpoint. /// /// public string ExtraJarsS3Path { get { return this._extraJarsS3Path; } set { this._extraJarsS3Path = value; } } // Check to see if ExtraJarsS3Path property is set internal bool IsSetExtraJarsS3Path() { return this._extraJarsS3Path != null; } /// /// Gets and sets the property 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 string ExtraPythonLibsS3Path { get { return this._extraPythonLibsS3Path; } set { this._extraPythonLibsS3Path = value; } } // Check to see if ExtraPythonLibsS3Path property is set internal bool IsSetExtraPythonLibsS3Path() { return this._extraPythonLibsS3Path != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Min=1, Max=255)] public string GlueVersion { get { return this._glueVersion; } set { this._glueVersion = value; } } // Check to see if GlueVersion property is set internal bool IsSetGlueVersion() { return this._glueVersion != null; } /// /// Gets and sets the property NumberOfNodes. /// /// The number of Glue Data Processing Units (DPUs) to allocate to this DevEndpoint. /// /// public int NumberOfNodes { get { return this._numberOfNodes.GetValueOrDefault(); } set { this._numberOfNodes = value; } } // Check to see if NumberOfNodes property is set internal bool IsSetNumberOfNodes() { return this._numberOfNodes.HasValue; } /// /// Gets and sets the property 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 int NumberOfWorkers { get { return this._numberOfWorkers.GetValueOrDefault(); } set { this._numberOfWorkers = value; } } // Check to see if NumberOfWorkers property is set internal bool IsSetNumberOfWorkers() { return this._numberOfWorkers.HasValue; } /// /// Gets and sets the property 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 string PublicKey { get { return this._publicKey; } set { this._publicKey = value; } } // Check to see if PublicKey property is set internal bool IsSetPublicKey() { return this._publicKey != null; } /// /// Gets and sets the property 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. /// /// /// [AWSProperty(Max=5)] public List PublicKeys { get { return this._publicKeys; } set { this._publicKeys = value; } } // Check to see if PublicKeys property is set internal bool IsSetPublicKeys() { return this._publicKeys != null && this._publicKeys.Count > 0; } /// /// Gets and sets the property RoleArn. /// /// The IAM role for the DevEndpoint. /// /// [AWSProperty(Required=true)] public string RoleArn { get { return this._roleArn; } set { this._roleArn = value; } } // Check to see if RoleArn property is set internal bool IsSetRoleArn() { return this._roleArn != null; } /// /// Gets and sets the property SecurityConfiguration. /// /// The name of the SecurityConfiguration structure to be used with this /// DevEndpoint. /// /// [AWSProperty(Min=1, Max=255)] public string SecurityConfiguration { get { return this._securityConfiguration; } set { this._securityConfiguration = value; } } // Check to see if SecurityConfiguration property is set internal bool IsSetSecurityConfiguration() { return this._securityConfiguration != null; } /// /// Gets and sets the property SecurityGroupIds. /// /// Security group IDs for the security groups to be used by the new DevEndpoint. /// /// public List SecurityGroupIds { get { return this._securityGroupIds; } set { this._securityGroupIds = value; } } // Check to see if SecurityGroupIds property is set internal bool IsSetSecurityGroupIds() { return this._securityGroupIds != null && this._securityGroupIds.Count > 0; } /// /// Gets and sets the property SubnetId. /// /// The subnet ID for the new DevEndpoint to use. /// /// public string SubnetId { get { return this._subnetId; } set { this._subnetId = value; } } // Check to see if SubnetId property is set internal bool IsSetSubnetId() { return this._subnetId != null; } /// /// Gets and sets the property 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. /// /// [AWSProperty(Min=0, Max=50)] public Dictionary Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } /// /// Gets and sets the property 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. /// ///
public WorkerType WorkerType { get { return this._workerType; } set { this._workerType = value; } } // Check to see if WorkerType property is set internal bool IsSetWorkerType() { return this._workerType != null; } } }