/*
* 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 m2-2021-04-28.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.MainframeModernization.Model
{
///
/// Container for the parameters to the CreateEnvironment operation.
/// Creates a runtime environment for a given runtime engine.
///
public partial class CreateEnvironmentRequest : AmazonMainframeModernizationRequest
{
private string _clientToken;
private string _description;
private EngineType _engineType;
private string _engineVersion;
private HighAvailabilityConfig _highAvailabilityConfig;
private string _instanceType;
private string _kmsKeyId;
private string _name;
private string _preferredMaintenanceWindow;
private bool? _publiclyAccessible;
private List _securityGroupIds = new List();
private List _storageConfigurations = new List();
private List _subnetIds = new List();
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property ClientToken.
///
/// Unique, case-sensitive identifier you provide to ensure the idempotency of the request
/// to create an environment. The service generates the clientToken when the API call
/// is triggered. The token expires after one hour, so if you retry the API within this
/// timeframe with the same clientToken, you will get the same response. The service also
/// handles deleting the clientToken after it expires.
///
///
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property Description.
///
/// The description of the runtime environment.
///
///
[AWSProperty(Min=0, Max=500)]
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 EngineType.
///
/// The engine type for the runtime environment.
///
///
[AWSProperty(Required=true)]
public EngineType EngineType
{
get { return this._engineType; }
set { this._engineType = value; }
}
// Check to see if EngineType property is set
internal bool IsSetEngineType()
{
return this._engineType != null;
}
///
/// Gets and sets the property EngineVersion.
///
/// The version of the engine type for the runtime environment.
///
///
public string EngineVersion
{
get { return this._engineVersion; }
set { this._engineVersion = value; }
}
// Check to see if EngineVersion property is set
internal bool IsSetEngineVersion()
{
return this._engineVersion != null;
}
///
/// Gets and sets the property HighAvailabilityConfig.
///
/// The details of a high availability configuration for this runtime environment.
///
///
public HighAvailabilityConfig HighAvailabilityConfig
{
get { return this._highAvailabilityConfig; }
set { this._highAvailabilityConfig = value; }
}
// Check to see if HighAvailabilityConfig property is set
internal bool IsSetHighAvailabilityConfig()
{
return this._highAvailabilityConfig != null;
}
///
/// Gets and sets the property InstanceType.
///
/// The type of instance for the runtime environment.
///
///
[AWSProperty(Required=true)]
public string InstanceType
{
get { return this._instanceType; }
set { this._instanceType = value; }
}
// Check to see if InstanceType property is set
internal bool IsSetInstanceType()
{
return this._instanceType != null;
}
///
/// Gets and sets the property KmsKeyId.
///
/// The identifier of a customer managed key.
///
///
public string KmsKeyId
{
get { return this._kmsKeyId; }
set { this._kmsKeyId = value; }
}
// Check to see if KmsKeyId property is set
internal bool IsSetKmsKeyId()
{
return this._kmsKeyId != null;
}
///
/// Gets and sets the property Name.
///
/// The name of the runtime environment. Must be unique within the account.
///
///
[AWSProperty(Required=true)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property PreferredMaintenanceWindow.
///
/// Configures the maintenance window you want for the runtime environment. If you do
/// not provide a value, a random system-generated value will be assigned.
///
///
public string PreferredMaintenanceWindow
{
get { return this._preferredMaintenanceWindow; }
set { this._preferredMaintenanceWindow = value; }
}
// Check to see if PreferredMaintenanceWindow property is set
internal bool IsSetPreferredMaintenanceWindow()
{
return this._preferredMaintenanceWindow != null;
}
///
/// Gets and sets the property PubliclyAccessible.
///
/// Specifies whether the runtime environment is publicly accessible.
///
///
public bool PubliclyAccessible
{
get { return this._publiclyAccessible.GetValueOrDefault(); }
set { this._publiclyAccessible = value; }
}
// Check to see if PubliclyAccessible property is set
internal bool IsSetPubliclyAccessible()
{
return this._publiclyAccessible.HasValue;
}
///
/// Gets and sets the property SecurityGroupIds.
///
/// The list of security groups for the VPC associated with this runtime environment.
///
///
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 StorageConfigurations.
///
/// Optional. The storage configurations for this runtime environment.
///
///
public List StorageConfigurations
{
get { return this._storageConfigurations; }
set { this._storageConfigurations = value; }
}
// Check to see if StorageConfigurations property is set
internal bool IsSetStorageConfigurations()
{
return this._storageConfigurations != null && this._storageConfigurations.Count > 0;
}
///
/// Gets and sets the property SubnetIds.
///
/// The list of subnets associated with the VPC for this runtime environment.
///
///
public List SubnetIds
{
get { return this._subnetIds; }
set { this._subnetIds = value; }
}
// Check to see if SubnetIds property is set
internal bool IsSetSubnetIds()
{
return this._subnetIds != null && this._subnetIds.Count > 0;
}
///
/// Gets and sets the property Tags.
///
/// The tags for the runtime environment.
///
///
[AWSProperty(Min=0, Max=200)]
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;
}
}
}