/* * Copyright 2010-2014 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 firehose-2015-08-04.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.KinesisFirehose.Model { /// /// Container for the parameters to the UpdateDestination operation. /// Updates the specified destination of the specified delivery stream. /// /// /// /// Use this operation to change the destination type (for example, to replace the Amazon /// S3 destination with Amazon Redshift) or change the parameters associated with a destination /// (for example, to change the bucket name of the Amazon S3 destination). The update /// might not occur immediately. The target delivery stream remains active while the configurations /// are updated, so data writes to the delivery stream can continue during this process. /// The updated configurations are usually effective within a few minutes. /// /// /// /// Switching between Amazon ES and other services is not supported. For an Amazon ES /// destination, you can only update to another Amazon ES destination. /// /// /// /// If the destination type is the same, Kinesis Data Firehose merges the configuration /// parameters specified with the destination configuration that already exists on the /// delivery stream. If any of the parameters are not specified in the call, the existing /// values are retained. For example, in the Amazon S3 destination, if EncryptionConfiguration /// is not specified, then the existing EncryptionConfiguration is maintained /// on the destination. /// /// /// /// If the destination type is not the same, for example, changing the destination from /// Amazon S3 to Amazon Redshift, Kinesis Data Firehose does not merge any parameters. /// In this case, all parameters must be specified. /// /// /// /// Kinesis Data Firehose uses CurrentDeliveryStreamVersionId to avoid race /// conditions and conflicting merges. This is a required field, and the service updates /// the configuration only if the existing configuration has a version ID that matches. /// After the update is applied successfully, the version ID is updated, and can be retrieved /// using DescribeDeliveryStream. Use the new version ID to set CurrentDeliveryStreamVersionId /// in the next call. /// /// public partial class UpdateDestinationRequest : AmazonKinesisFirehoseRequest { private string _currentDeliveryStreamVersionId; private string _deliveryStreamName; private string _destinationId; private ElasticsearchDestinationUpdate _elasticsearchDestinationUpdate; private ExtendedS3DestinationUpdate _extendedS3DestinationUpdate; private RedshiftDestinationUpdate _redshiftDestinationUpdate; private S3DestinationUpdate _s3DestinationUpdate; private SplunkDestinationUpdate _splunkDestinationUpdate; /// /// Gets and sets the property CurrentDeliveryStreamVersionId. /// /// Obtain this value from the VersionId result of DeliveryStreamDescription. /// This value is required, and helps the service perform conditional operations. For /// example, if there is an interleaving update and this value is null, then the update /// destination fails. After the update is successful, the VersionId value /// is updated. The service then performs a merge of the old configuration with the new /// configuration. /// /// [AWSProperty(Required=true, Min=1, Max=50)] public string CurrentDeliveryStreamVersionId { get { return this._currentDeliveryStreamVersionId; } set { this._currentDeliveryStreamVersionId = value; } } // Check to see if CurrentDeliveryStreamVersionId property is set internal bool IsSetCurrentDeliveryStreamVersionId() { return this._currentDeliveryStreamVersionId != null; } /// /// Gets and sets the property DeliveryStreamName. /// /// The name of the delivery stream. /// /// [AWSProperty(Required=true, Min=1, Max=64)] public string DeliveryStreamName { get { return this._deliveryStreamName; } set { this._deliveryStreamName = value; } } // Check to see if DeliveryStreamName property is set internal bool IsSetDeliveryStreamName() { return this._deliveryStreamName != null; } /// /// Gets and sets the property DestinationId. /// /// The ID of the destination. /// /// [AWSProperty(Required=true, Min=1, Max=100)] public string DestinationId { get { return this._destinationId; } set { this._destinationId = value; } } // Check to see if DestinationId property is set internal bool IsSetDestinationId() { return this._destinationId != null; } /// /// Gets and sets the property ElasticsearchDestinationUpdate. /// /// Describes an update for a destination in Amazon ES. /// /// public ElasticsearchDestinationUpdate ElasticsearchDestinationUpdate { get { return this._elasticsearchDestinationUpdate; } set { this._elasticsearchDestinationUpdate = value; } } // Check to see if ElasticsearchDestinationUpdate property is set internal bool IsSetElasticsearchDestinationUpdate() { return this._elasticsearchDestinationUpdate != null; } /// /// Gets and sets the property ExtendedS3DestinationUpdate. /// /// Describes an update for a destination in Amazon S3. /// /// public ExtendedS3DestinationUpdate ExtendedS3DestinationUpdate { get { return this._extendedS3DestinationUpdate; } set { this._extendedS3DestinationUpdate = value; } } // Check to see if ExtendedS3DestinationUpdate property is set internal bool IsSetExtendedS3DestinationUpdate() { return this._extendedS3DestinationUpdate != null; } /// /// Gets and sets the property RedshiftDestinationUpdate. /// /// Describes an update for a destination in Amazon Redshift. /// /// public RedshiftDestinationUpdate RedshiftDestinationUpdate { get { return this._redshiftDestinationUpdate; } set { this._redshiftDestinationUpdate = value; } } // Check to see if RedshiftDestinationUpdate property is set internal bool IsSetRedshiftDestinationUpdate() { return this._redshiftDestinationUpdate != null; } /// /// Gets and sets the property S3DestinationUpdate. /// /// [Deprecated] Describes an update for a destination in Amazon S3. /// /// [Obsolete("This property is deprecated. Use ExtendedS3DestinationUpdate instead.")] public S3DestinationUpdate S3DestinationUpdate { get { return this._s3DestinationUpdate; } set { this._s3DestinationUpdate = value; } } // Check to see if S3DestinationUpdate property is set internal bool IsSetS3DestinationUpdate() { return this._s3DestinationUpdate != null; } /// /// Gets and sets the property SplunkDestinationUpdate. /// /// Describes an update for a destination in Splunk. /// /// public SplunkDestinationUpdate SplunkDestinationUpdate { get { return this._splunkDestinationUpdate; } set { this._splunkDestinationUpdate = value; } } // Check to see if SplunkDestinationUpdate property is set internal bool IsSetSplunkDestinationUpdate() { return this._splunkDestinationUpdate != null; } } }