/*
* 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 pinpoint-2016-12-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.Pinpoint.Model
{
///
/// Specifies settings for publishing event data to an Amazon Kinesis data stream or an
/// Amazon Kinesis Data Firehose delivery stream.
///
public partial class EventStream
{
private string _applicationId;
private string _destinationStreamArn;
private string _externalId;
private string _lastModifiedDate;
private string _lastUpdatedBy;
private string _roleArn;
///
/// Gets and sets the property ApplicationId.
///
/// The unique identifier for the application to publish event data for.
///
///
[AWSProperty(Required=true)]
public string ApplicationId
{
get { return this._applicationId; }
set { this._applicationId = value; }
}
// Check to see if ApplicationId property is set
internal bool IsSetApplicationId()
{
return this._applicationId != null;
}
///
/// Gets and sets the property DestinationStreamArn.
///
/// The Amazon Resource Name (ARN) of the Amazon Kinesis data stream or Amazon Kinesis
/// Data Firehose delivery stream to publish event data to.
///
///
///
/// For a Kinesis data stream, the ARN format is: arn:aws:kinesis:region:account-id:stream/stream_name
///
///
///
///
/// For a Kinesis Data Firehose delivery stream, the ARN format is: arn:aws:firehose:region:account-id:deliverystream/stream_name
///
///
///
[AWSProperty(Required=true)]
public string DestinationStreamArn
{
get { return this._destinationStreamArn; }
set { this._destinationStreamArn = value; }
}
// Check to see if DestinationStreamArn property is set
internal bool IsSetDestinationStreamArn()
{
return this._destinationStreamArn != null;
}
///
/// Gets and sets the property ExternalId.
///
/// (Deprecated) Your AWS account ID, which you assigned to an external ID key in an IAM
/// trust policy. Amazon Pinpoint previously used this value to assume an IAM role when
/// publishing event data, but we removed this requirement. We don't recommend use of
/// external IDs for IAM roles that are assumed by Amazon Pinpoint.
///
///
public string ExternalId
{
get { return this._externalId; }
set { this._externalId = value; }
}
// Check to see if ExternalId property is set
internal bool IsSetExternalId()
{
return this._externalId != null;
}
///
/// Gets and sets the property LastModifiedDate.
///
/// The date, in ISO 8601 format, when the event stream was last modified.
///
///
public string LastModifiedDate
{
get { return this._lastModifiedDate; }
set { this._lastModifiedDate = value; }
}
// Check to see if LastModifiedDate property is set
internal bool IsSetLastModifiedDate()
{
return this._lastModifiedDate != null;
}
///
/// Gets and sets the property LastUpdatedBy.
///
/// The IAM user who last modified the event stream.
///
///
public string LastUpdatedBy
{
get { return this._lastUpdatedBy; }
set { this._lastUpdatedBy = value; }
}
// Check to see if LastUpdatedBy property is set
internal bool IsSetLastUpdatedBy()
{
return this._lastUpdatedBy != null;
}
///
/// Gets and sets the property RoleArn.
///
/// The AWS Identity and Access Management (IAM) role that authorizes Amazon Pinpoint
/// to publish event data to the stream in your AWS account.
///
///
[AWSProperty(Required=true)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
}
}