/* * 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 workmail-2017-10-01.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.WorkMail.Model { /// /// Container for the parameters to the CreateOrganization operation. /// Creates a new WorkMail organization. Optionally, you can choose to associate an existing /// AWS Directory Service directory with your organization. If an AWS Directory Service /// directory ID is specified, the organization alias must match the directory alias. /// If you choose not to associate an existing directory with your organization, then /// we create a new WorkMail directory for you. For more information, see Adding /// an organization in the WorkMail Administrator Guide. /// /// /// /// You can associate multiple email domains with an organization, then choose your default /// email domain from the WorkMail console. You can also associate a domain that is managed /// in an Amazon Route 53 public hosted zone. For more information, see Adding /// a domain and Choosing /// the default domain in the WorkMail Administrator Guide. /// /// /// /// Optionally, you can use a customer managed key from AWS Key Management Service (AWS /// KMS) to encrypt email for your organization. If you don't associate an AWS KMS key, /// WorkMail creates a default, AWS managed key for you. /// /// public partial class CreateOrganizationRequest : AmazonWorkMailRequest { private string _alias; private string _clientToken; private string _directoryId; private List _domains = new List(); private bool? _enableInteroperability; private string _kmsKeyArn; /// /// Gets and sets the property Alias. /// /// The organization alias. /// /// [AWSProperty(Required=true, Min=1, Max=62)] public string Alias { get { return this._alias; } set { this._alias = value; } } // Check to see if Alias property is set internal bool IsSetAlias() { return this._alias != null; } /// /// Gets and sets the property ClientToken. /// /// The idempotency token associated with the request. /// /// [AWSProperty(Min=1, Max=128)] 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 DirectoryId. /// /// The AWS Directory Service directory ID. /// /// [AWSProperty(Min=12, Max=12)] public string DirectoryId { get { return this._directoryId; } set { this._directoryId = value; } } // Check to see if DirectoryId property is set internal bool IsSetDirectoryId() { return this._directoryId != null; } /// /// Gets and sets the property Domains. /// /// The email domains to associate with the organization. /// /// [AWSProperty(Min=0, Max=5)] public List Domains { get { return this._domains; } set { this._domains = value; } } // Check to see if Domains property is set internal bool IsSetDomains() { return this._domains != null && this._domains.Count > 0; } /// /// Gets and sets the property EnableInteroperability. /// /// When true, allows organization interoperability between WorkMail and /// Microsoft Exchange. If true, you must include a AD Connector directory /// ID in the request. /// /// public bool EnableInteroperability { get { return this._enableInteroperability.GetValueOrDefault(); } set { this._enableInteroperability = value; } } // Check to see if EnableInteroperability property is set internal bool IsSetEnableInteroperability() { return this._enableInteroperability.HasValue; } /// /// Gets and sets the property KmsKeyArn. /// /// The Amazon Resource Name (ARN) of a customer managed key from AWS KMS. /// /// [AWSProperty(Min=20, Max=2048)] public string KmsKeyArn { get { return this._kmsKeyArn; } set { this._kmsKeyArn = value; } } // Check to see if KmsKeyArn property is set internal bool IsSetKmsKeyArn() { return this._kmsKeyArn != null; } } }