/*
* 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 chime-sdk-meetings-2021-07-15.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.ChimeSDKMeetings.Model
{
///
/// Container for the parameters to the CreateMeeting operation.
/// Creates a new Amazon Chime SDK meeting in the specified media Region with no initial
/// attendees. For more information about specifying media Regions, see Amazon
/// Chime SDK Media Regions in the Amazon Chime Developer Guide. For more information
/// about the Amazon Chime SDK, see Using
/// the Amazon Chime SDK in the Amazon Chime Developer Guide.
///
public partial class CreateMeetingRequest : AmazonChimeSDKMeetingsRequest
{
private string _clientRequestToken;
private string _externalMeetingId;
private string _mediaRegion;
private MeetingFeaturesConfiguration _meetingFeatures;
private string _meetingHostId;
private NotificationsConfiguration _notificationsConfiguration;
private string _primaryMeetingId;
private List _tags = new List();
private List _tenantIds = new List();
///
/// Gets and sets the property ClientRequestToken.
///
/// The unique identifier for the client request. Use a different token for different
/// meetings.
///
///
[AWSProperty(Sensitive=true, Min=2, Max=64)]
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;
}
///
/// Gets and sets the property ExternalMeetingId.
///
/// The external meeting ID.
///
///
///
/// Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]*
///
///
///
/// Values that begin with aws:
are reserved. You can't configure a value
/// that uses this prefix. Case insensitive.
///
///
[AWSProperty(Required=true, Sensitive=true, Min=2, Max=64)]
public string ExternalMeetingId
{
get { return this._externalMeetingId; }
set { this._externalMeetingId = value; }
}
// Check to see if ExternalMeetingId property is set
internal bool IsSetExternalMeetingId()
{
return this._externalMeetingId != null;
}
///
/// Gets and sets the property MediaRegion.
///
/// The Region in which to create the meeting.
///
///
///
/// Available values: af-south-1
, ap-northeast-1
, ap-northeast-2
,
/// ap-south-1
, ap-southeast-1
, ap-southeast-2
,
/// ca-central-1
, eu-central-1
, eu-north-1
, eu-south-1
,
/// eu-west-1
, eu-west-2
, eu-west-3
, sa-east-1
,
/// us-east-1
, us-east-2
, us-west-1
, us-west-2
.
///
///
///
///
/// Available values in AWS GovCloud (US) Regions: us-gov-east-1
, us-gov-west-1
.
///
///
[AWSProperty(Required=true, Min=2, Max=64)]
public string MediaRegion
{
get { return this._mediaRegion; }
set { this._mediaRegion = value; }
}
// Check to see if MediaRegion property is set
internal bool IsSetMediaRegion()
{
return this._mediaRegion != null;
}
///
/// Gets and sets the property MeetingFeatures.
///
/// Lists the audio and video features enabled for a meeting, such as echo reduction.
///
///
public MeetingFeaturesConfiguration MeetingFeatures
{
get { return this._meetingFeatures; }
set { this._meetingFeatures = value; }
}
// Check to see if MeetingFeatures property is set
internal bool IsSetMeetingFeatures()
{
return this._meetingFeatures != null;
}
///
/// Gets and sets the property MeetingHostId.
///
/// Reserved.
///
///
[AWSProperty(Sensitive=true, Min=2, Max=64)]
public string MeetingHostId
{
get { return this._meetingHostId; }
set { this._meetingHostId = value; }
}
// Check to see if MeetingHostId property is set
internal bool IsSetMeetingHostId()
{
return this._meetingHostId != null;
}
///
/// Gets and sets the property NotificationsConfiguration.
///
/// The configuration for resource targets to receive notifications when meeting and attendee
/// events occur.
///
///
public NotificationsConfiguration NotificationsConfiguration
{
get { return this._notificationsConfiguration; }
set { this._notificationsConfiguration = value; }
}
// Check to see if NotificationsConfiguration property is set
internal bool IsSetNotificationsConfiguration()
{
return this._notificationsConfiguration != null;
}
///
/// Gets and sets the property PrimaryMeetingId.
///
/// When specified, replicates the media from the primary meeting to the new meeting.
///
///
[AWSProperty(Min=2, Max=64)]
public string PrimaryMeetingId
{
get { return this._primaryMeetingId; }
set { this._primaryMeetingId = value; }
}
// Check to see if PrimaryMeetingId property is set
internal bool IsSetPrimaryMeetingId()
{
return this._primaryMeetingId != null;
}
///
/// Gets and sets the property Tags.
///
/// Applies one or more tags to an Amazon Chime SDK meeting. Note the following:
///
/// -
///
/// Not all resources have tags. For a list of services with resources that support tagging
/// using this operation, see Services
/// that support the Resource Groups Tagging API. If the resource doesn't yet support
/// this operation, the resource's service might support tagging using its own API operations.
/// For more information, refer to the documentation for that service.
///
///
-
///
/// Each resource can have up to 50 tags. For other limits, see Tag
/// Naming and Usage Conventions in the AWS General Reference.
///
///
-
///
/// You can only tag resources that are located in the specified AWS Region for the AWS
/// account.
///
///
-
///
/// To add tags to a resource, you need the necessary permissions for the service that
/// the resource belongs to as well as permissions for adding tags. For more information,
/// see the documentation for each service.
///
///
///
/// Do not store personally identifiable information (PII) or other confidential or sensitive
/// information in tags. We use tags to provide you with billing and administration services.
/// Tags are not intended to be used for private or sensitive data.
///
///
///
/// Minimum permissions
///
///
///
/// In addition to the tag:TagResources
permission required by this operation,
/// you must also have the tagging permission defined by the service that created the
/// resource. For example, to tag a ChimeSDKMeetings
instance using the TagResources
/// operation, you must have both of the following permissions:
///
///
///
/// tag:TagResources
///
///
///
/// ChimeSDKMeetings:CreateTags
///
///
///
/// Some services might have specific requirements for tagging some resources. For example,
/// to tag an Amazon S3 bucket, you must also have the s3:GetBucketTagging
/// permission. If the expected minimum permissions don't work, check the documentation
/// for that service's tagging APIs for more information.
///
///
///
[AWSProperty(Min=0, Max=50)]
public List 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 TenantIds.
///
/// A consistent and opaque identifier, created and maintained by the builder to represent
/// a segment of their users.
///
///
[AWSProperty(Min=1, Max=5)]
public List TenantIds
{
get { return this._tenantIds; }
set { this._tenantIds = value; }
}
// Check to see if TenantIds property is set
internal bool IsSetTenantIds()
{
return this._tenantIds != null && this._tenantIds.Count > 0;
}
}
}