/* * 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 athena-2017-05-18.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.Athena.Model { /// <summary> /// Container for the parameters to the StartSession operation. /// Creates a session for running calculations within a workgroup. The session is ready /// when it reaches an <code>IDLE</code> state. /// </summary> public partial class StartSessionRequest : AmazonAthenaRequest { private string _clientRequestToken; private string _description; private EngineConfiguration _engineConfiguration; private string _notebookVersion; private int? _sessionIdleTimeoutInMinutes; private string _workGroup; /// <summary> /// Gets and sets the property ClientRequestToken. /// <para> /// A unique case-sensitive string used to ensure the request to create the session is /// idempotent (executes only once). If another <code>StartSessionRequest</code> is received, /// the same response is returned and another session is not created. If a parameter has /// changed, an error is returned. /// </para> /// <important> /// <para> /// This token is listed as not required because Amazon Web Services SDKs (for example /// the Amazon Web Services SDK for Java) auto-generate the token for users. If you are /// not using the Amazon Web Services SDK or the Amazon Web Services CLI, you must provide /// this token or the action will fail. /// </para> /// </important> /// </summary> [AWSProperty(Min=32, Max=128)] public string ClientRequestToken { get { return this._clientRequestToken; } set { this._clientRequestToken = value; } } // Check to see if ClientRequestToken property is set internal bool IsSetClientRequestToken() { return this._clientRequestToken != null; } /// <summary> /// Gets and sets the property Description. /// <para> /// The session description. /// </para> /// </summary> [AWSProperty(Min=1, Max=1024)] 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; } /// <summary> /// Gets and sets the property EngineConfiguration. /// <para> /// Contains engine data processing unit (DPU) configuration settings and parameter mappings. /// </para> /// </summary> [AWSProperty(Required=true)] public EngineConfiguration EngineConfiguration { get { return this._engineConfiguration; } set { this._engineConfiguration = value; } } // Check to see if EngineConfiguration property is set internal bool IsSetEngineConfiguration() { return this._engineConfiguration != null; } /// <summary> /// Gets and sets the property NotebookVersion. /// <para> /// The notebook version. This value is supplied automatically for notebook sessions in /// the Athena console and is not required for programmatic session access. The only valid /// notebook version is <code>Athena notebook version 1</code>. If you specify a value /// for <code>NotebookVersion</code>, you must also specify a value for <code>NotebookId</code>. /// See <a>EngineConfiguration$AdditionalConfigs</a>. /// </para> /// </summary> [AWSProperty(Min=1, Max=128)] public string NotebookVersion { get { return this._notebookVersion; } set { this._notebookVersion = value; } } // Check to see if NotebookVersion property is set internal bool IsSetNotebookVersion() { return this._notebookVersion != null; } /// <summary> /// Gets and sets the property SessionIdleTimeoutInMinutes. /// <para> /// The idle timeout in minutes for the session. /// </para> /// </summary> [AWSProperty(Min=1, Max=480)] public int SessionIdleTimeoutInMinutes { get { return this._sessionIdleTimeoutInMinutes.GetValueOrDefault(); } set { this._sessionIdleTimeoutInMinutes = value; } } // Check to see if SessionIdleTimeoutInMinutes property is set internal bool IsSetSessionIdleTimeoutInMinutes() { return this._sessionIdleTimeoutInMinutes.HasValue; } /// <summary> /// Gets and sets the property WorkGroup. /// <para> /// The workgroup to which the session belongs. /// </para> /// </summary> [AWSProperty(Required=true)] public string WorkGroup { get { return this._workGroup; } set { this._workGroup = value; } } // Check to see if WorkGroup property is set internal bool IsSetWorkGroup() { return this._workGroup != null; } } }