/* * 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 docdb-elastic-2022-11-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.DocDBElastic.Model { /// /// Container for the parameters to the CreateCluster operation. /// Creates a new Elastic DocumentDB cluster and returns its Cluster structure. /// public partial class CreateClusterRequest : AmazonDocDBElasticRequest { private string _adminUserName; private string _adminUserPassword; private Auth _authType; private string _clientToken; private string _clusterName; private string _kmsKeyId; private string _preferredMaintenanceWindow; private int? _shardCapacity; private int? _shardCount; private List _subnetIds = new List(); private Dictionary _tags = new Dictionary(); private List _vpcSecurityGroupIds = new List(); /// /// Gets and sets the property AdminUserName. /// /// The name of the Elastic DocumentDB cluster administrator. /// /// /// /// Constraints: /// ///
  • /// /// Must be from 1 to 63 letters or numbers. /// ///
  • /// /// The first character must be a letter. /// ///
  • /// /// Cannot be a reserved word. /// ///
///
[AWSProperty(Required=true)] public string AdminUserName { get { return this._adminUserName; } set { this._adminUserName = value; } } // Check to see if AdminUserName property is set internal bool IsSetAdminUserName() { return this._adminUserName != null; } /// /// Gets and sets the property AdminUserPassword. /// /// The password for the Elastic DocumentDB cluster administrator and can contain any /// printable ASCII characters. /// /// /// /// Constraints: /// ///
  • /// /// Must contain from 8 to 100 characters. /// ///
  • /// /// Cannot contain a forward slash (/), double quote ("), or the "at" symbol (@). /// ///
///
[AWSProperty(Required=true, Sensitive=true)] public string AdminUserPassword { get { return this._adminUserPassword; } set { this._adminUserPassword = value; } } // Check to see if AdminUserPassword property is set internal bool IsSetAdminUserPassword() { return this._adminUserPassword != null; } /// /// Gets and sets the property AuthType. /// /// The authentication type for the Elastic DocumentDB cluster. /// /// [AWSProperty(Required=true)] public Auth AuthType { get { return this._authType; } set { this._authType = value; } } // Check to see if AuthType property is set internal bool IsSetAuthType() { return this._authType != null; } /// /// Gets and sets the property ClientToken. /// /// The client token for the Elastic DocumentDB cluster. /// /// 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 ClusterName. /// /// The name of the new Elastic DocumentDB cluster. This parameter is stored as a lowercase /// string. /// /// /// /// Constraints: /// ///
  • /// /// Must contain from 1 to 63 letters, numbers, or hyphens. /// ///
  • /// /// The first character must be a letter. /// ///
  • /// /// Cannot end with a hyphen or contain two consecutive hyphens. /// ///
/// /// Example: my-cluster /// ///
[AWSProperty(Required=true)] public string ClusterName { get { return this._clusterName; } set { this._clusterName = value; } } // Check to see if ClusterName property is set internal bool IsSetClusterName() { return this._clusterName != null; } /// /// Gets and sets the property KmsKeyId. /// /// The KMS key identifier to use to encrypt the new Elastic DocumentDB cluster. /// /// /// /// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption key. /// If you are creating a cluster using the same Amazon account that owns this KMS encryption /// key, you can use the KMS key alias instead of the ARN as the KMS encryption key. /// /// /// /// If an encryption key is not specified, Elastic DocumentDB uses the default encryption /// key that KMS creates for your account. Your account has a different default encryption /// key for each Amazon Region. /// /// 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 PreferredMaintenanceWindow. /// /// The weekly time range during which system maintenance can occur, in Universal Coordinated /// Time (UTC). /// /// /// /// Format: ddd:hh24:mi-ddd:hh24:mi /// /// /// /// Default: a 30-minute window selected at random from an 8-hour block of time /// for each Amazon Web Services Region, occurring on a random day of the week. /// /// /// /// Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun /// /// /// /// Constraints: Minimum 30-minute window. /// /// 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 ShardCapacity. /// /// The capacity of each shard in the new Elastic DocumentDB cluster. /// /// [AWSProperty(Required=true)] public int ShardCapacity { get { return this._shardCapacity.GetValueOrDefault(); } set { this._shardCapacity = value; } } // Check to see if ShardCapacity property is set internal bool IsSetShardCapacity() { return this._shardCapacity.HasValue; } /// /// Gets and sets the property ShardCount. /// /// The number of shards to create in the new Elastic DocumentDB cluster. /// /// [AWSProperty(Required=true)] public int ShardCount { get { return this._shardCount.GetValueOrDefault(); } set { this._shardCount = value; } } // Check to see if ShardCount property is set internal bool IsSetShardCount() { return this._shardCount.HasValue; } /// /// Gets and sets the property SubnetIds. /// /// The Amazon EC2 subnet IDs for the new Elastic DocumentDB cluster. /// /// 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 to be assigned to the new Elastic DocumentDB cluster. /// /// 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 VpcSecurityGroupIds. /// /// A list of EC2 VPC security groups to associate with the new Elastic DocumentDB cluster. /// /// public List VpcSecurityGroupIds { get { return this._vpcSecurityGroupIds; } set { this._vpcSecurityGroupIds = value; } } // Check to see if VpcSecurityGroupIds property is set internal bool IsSetVpcSecurityGroupIds() { return this._vpcSecurityGroupIds != null && this._vpcSecurityGroupIds.Count > 0; } } }