/*
* 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
{
///
/// A development endpoint where a developer can remotely debug extract, transform, and
/// load (ETL) scripts.
///
public partial class DevEndpoint
{
private Dictionary _arguments = new Dictionary();
private string _availabilityZone;
private DateTime? _createdTimestamp;
private string _endpointName;
private string _extraJarsS3Path;
private string _extraPythonLibsS3Path;
private string _failureReason;
private string _glueVersion;
private DateTime? _lastModifiedTimestamp;
private string _lastUpdateStatus;
private int? _numberOfNodes;
private int? _numberOfWorkers;
private string _privateAddress;
private string _publicAddress;
private string _publicKey;
private List _publicKeys = new List();
private string _roleArn;
private string _securityConfiguration;
private List _securityGroupIds = new List();
private string _status;
private string _subnetId;
private string _vpcId;
private WorkerType _workerType;
private string _yarnEndpointAddress;
private int? _zeppelinRemoteSparkInterpreterPort;
///
/// Gets and sets the property Arguments.
///
/// A map of arguments used to configure the DevEndpoint
.
///
///
///
/// Valid arguments are:
///
/// -
///
///
"--enable-glue-datacatalog": ""
///
///
///
/// 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=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 AvailabilityZone.
///
/// The Amazon Web Services Availability Zone where this DevEndpoint
is located.
///
///
public string AvailabilityZone
{
get { return this._availabilityZone; }
set { this._availabilityZone = value; }
}
// Check to see if AvailabilityZone property is set
internal bool IsSetAvailabilityZone()
{
return this._availabilityZone != null;
}
///
/// Gets and sets the property CreatedTimestamp.
///
/// The point in time at which this DevEndpoint was created.
///
///
public DateTime CreatedTimestamp
{
get { return this._createdTimestamp.GetValueOrDefault(); }
set { this._createdTimestamp = value; }
}
// Check to see if CreatedTimestamp property is set
internal bool IsSetCreatedTimestamp()
{
return this._createdTimestamp.HasValue;
}
///
/// Gets and sets the property EndpointName.
///
/// The name of the DevEndpoint
.
///
///
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
.
///
///
///
/// You can only use pure Java/Scala libraries with a 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 currently 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 FailureReason.
///
/// The reason for a current failure in this DevEndpoint
.
///
///
public string FailureReason
{
get { return this._failureReason; }
set { this._failureReason = value; }
}
// Check to see if FailureReason property is set
internal bool IsSetFailureReason()
{
return this._failureReason != 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 LastModifiedTimestamp.
///
/// The point in time at which this DevEndpoint
was last modified.
///
///
public DateTime LastModifiedTimestamp
{
get { return this._lastModifiedTimestamp.GetValueOrDefault(); }
set { this._lastModifiedTimestamp = value; }
}
// Check to see if LastModifiedTimestamp property is set
internal bool IsSetLastModifiedTimestamp()
{
return this._lastModifiedTimestamp.HasValue;
}
///
/// Gets and sets the property LastUpdateStatus.
///
/// The status of the last update.
///
///
public string LastUpdateStatus
{
get { return this._lastUpdateStatus; }
set { this._lastUpdateStatus = value; }
}
// Check to see if LastUpdateStatus property is set
internal bool IsSetLastUpdateStatus()
{
return this._lastUpdateStatus != null;
}
///
/// Gets and sets the property NumberOfNodes.
///
/// The number of Glue Data Processing Units (DPUs) allocated 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 PrivateAddress.
///
/// A private IP address to access the DevEndpoint
within a VPC if the DevEndpoint
/// is created within one. The PrivateAddress
field is present only when
/// you create the DevEndpoint
within your VPC.
///
///
public string PrivateAddress
{
get { return this._privateAddress; }
set { this._privateAddress = value; }
}
// Check to see if PrivateAddress property is set
internal bool IsSetPrivateAddress()
{
return this._privateAddress != null;
}
///
/// Gets and sets the property PublicAddress.
///
/// The public IP address used by this DevEndpoint
. The PublicAddress
/// field is present only when you create a non-virtual private cloud (VPC) DevEndpoint
.
///
///
public string PublicAddress
{
get { return this._publicAddress; }
set { this._publicAddress = value; }
}
// Check to see if PublicAddress property is set
internal bool IsSetPublicAddress()
{
return this._publicAddress != null;
}
///
/// 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 DevEndpoints
for authentication.
/// Using 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
/// operation 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 Amazon Resource Name (ARN) of the IAM role used in this DevEndpoint
.
///
///
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.
///
/// A list of security group identifiers used in this 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 Status.
///
/// The current status of this DevEndpoint
.
///
///
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property SubnetId.
///
/// The subnet ID for this DevEndpoint
.
///
///
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 VpcId.
///
/// The ID of the virtual private cloud (VPC) used by this DevEndpoint
.
///
///
public string VpcId
{
get { return this._vpcId; }
set { this._vpcId = value; }
}
// Check to see if VpcId property is set
internal bool IsSetVpcId()
{
return this._vpcId != null;
}
///
/// 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;
}
///
/// Gets and sets the property YarnEndpointAddress.
///
/// The YARN endpoint address used by this DevEndpoint
.
///
///
public string YarnEndpointAddress
{
get { return this._yarnEndpointAddress; }
set { this._yarnEndpointAddress = value; }
}
// Check to see if YarnEndpointAddress property is set
internal bool IsSetYarnEndpointAddress()
{
return this._yarnEndpointAddress != null;
}
///
/// Gets and sets the property ZeppelinRemoteSparkInterpreterPort.
///
/// The Apache Zeppelin port for the remote Apache Spark interpreter.
///
///
public int ZeppelinRemoteSparkInterpreterPort
{
get { return this._zeppelinRemoteSparkInterpreterPort.GetValueOrDefault(); }
set { this._zeppelinRemoteSparkInterpreterPort = value; }
}
// Check to see if ZeppelinRemoteSparkInterpreterPort property is set
internal bool IsSetZeppelinRemoteSparkInterpreterPort()
{
return this._zeppelinRemoteSparkInterpreterPort.HasValue;
}
}
}