/* * 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 CreateSession operation. /// Creates a new session. /// public partial class CreateSessionRequest : AmazonGlueRequest { private SessionCommand _command; private ConnectionsList _connections; private Dictionary _defaultArguments = new Dictionary(); private string _description; private string _glueVersion; private string _id; private int? _idleTimeout; private double? _maxCapacity; private int? _numberOfWorkers; private string _requestOrigin; private string _role; private string _securityConfiguration; private Dictionary _tags = new Dictionary(); private int? _timeout; private WorkerType _workerType; /// /// Gets and sets the property Command. /// /// The SessionCommand that runs the job. /// /// [AWSProperty(Required=true)] public SessionCommand Command { get { return this._command; } set { this._command = value; } } // Check to see if Command property is set internal bool IsSetCommand() { return this._command != null; } /// /// Gets and sets the property Connections. /// /// The number of connections to use for the session. /// /// public ConnectionsList Connections { get { return this._connections; } set { this._connections = value; } } // Check to see if Connections property is set internal bool IsSetConnections() { return this._connections != null; } /// /// Gets and sets the property DefaultArguments. /// /// A map array of key-value pairs. Max is 75 pairs. /// /// [AWSProperty(Min=0, Max=75)] public Dictionary DefaultArguments { get { return this._defaultArguments; } set { this._defaultArguments = value; } } // Check to see if DefaultArguments property is set internal bool IsSetDefaultArguments() { return this._defaultArguments != null && this._defaultArguments.Count > 0; } /// /// Gets and sets the property Description. /// /// The description of the session. /// /// [AWSProperty(Min=0, Max=2048)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property GlueVersion. /// /// The Glue version determines the versions of Apache Spark and Python that Glue supports. /// The GlueVersion must be greater than 2.0. /// /// [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 Id. /// /// The ID of the session request. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string Id { get { return this._id; } set { this._id = value; } } // Check to see if Id property is set internal bool IsSetId() { return this._id != null; } /// /// Gets and sets the property IdleTimeout. /// /// The number of minutes when idle before session times out. Default for Spark ETL jobs /// is value of Timeout. Consult the documentation for other job types. /// /// [AWSProperty(Min=1)] public int IdleTimeout { get { return this._idleTimeout.GetValueOrDefault(); } set { this._idleTimeout = value; } } // Check to see if IdleTimeout property is set internal bool IsSetIdleTimeout() { return this._idleTimeout.HasValue; } /// /// Gets and sets the property MaxCapacity. /// /// The number of Glue data processing units (DPUs) that can be allocated when the job /// runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of /// compute capacity and 16 GB memory. /// /// public double MaxCapacity { get { return this._maxCapacity.GetValueOrDefault(); } set { this._maxCapacity = value; } } // Check to see if MaxCapacity property is set internal bool IsSetMaxCapacity() { return this._maxCapacity.HasValue; } /// /// Gets and sets the property NumberOfWorkers. /// /// The number of workers of a defined WorkerType to use for the session. /// /// /// 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 RequestOrigin. /// /// The origin of the request. /// /// [AWSProperty(Min=1, Max=128)] public string RequestOrigin { get { return this._requestOrigin; } set { this._requestOrigin = value; } } // Check to see if RequestOrigin property is set internal bool IsSetRequestOrigin() { return this._requestOrigin != null; } /// /// Gets and sets the property Role. /// /// The IAM Role ARN /// /// [AWSProperty(Required=true, Min=20, Max=2048)] public string Role { get { return this._role; } set { this._role = value; } } // Check to see if Role property is set internal bool IsSetRole() { return this._role != null; } /// /// Gets and sets the property SecurityConfiguration. /// /// The name of the SecurityConfiguration structure to be used with the session /// /// [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 Tags. /// /// The map of key value pairs (tags) belonging to the session. /// /// [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 Timeout. /// /// The number of minutes before session times out. Default for Spark ETL jobs is 48 /// hours (2880 minutes), the maximum session lifetime for this job type. Consult the /// documentation for other job types. /// /// [AWSProperty(Min=1)] public int Timeout { get { return this._timeout.GetValueOrDefault(); } set { this._timeout = value; } } // Check to see if Timeout property is set internal bool IsSetTimeout() { return this._timeout.HasValue; } /// /// Gets and sets the property WorkerType. /// /// The type of predefined worker that is allocated when a job runs. Accepts a value of /// G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks. /// ///
  • /// /// For the G.1X worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of /// memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. /// We recommend this worker type for workloads such as data transforms, joins, and queries, /// to offers a scalable and cost effective way to run most jobs. /// ///
  • /// /// For the G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of /// memory) with 128GB disk (approximately 77GB free), and provides 1 executor per worker. /// We recommend this worker type for workloads such as data transforms, joins, and queries, /// to offers a scalable and cost effective way to run most jobs. /// ///
  • /// /// For the G.4X worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB /// of memory) with 256GB disk (approximately 235GB free), and provides 1 executor per /// worker. We recommend this worker type for jobs whose workloads contain your most demanding /// transforms, aggregations, joins, and queries. This worker type is available only for /// Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: /// US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), /// Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), /// Europe (Ireland), and Europe (Stockholm). /// ///
  • /// /// For the G.8X worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB /// of memory) with 512GB disk (approximately 487GB free), and provides 1 executor per /// worker. We recommend this worker type for jobs whose workloads contain your most demanding /// transforms, aggregations, joins, and queries. This worker type is available only for /// Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions /// as supported for the G.4X worker type. /// ///
  • /// /// For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB /// of memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray workers /// based on the autoscaler. /// ///
///
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; } } }