/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace Firehose { namespace Model { /** */ class AWS_FIREHOSE_API UpdateDestinationRequest : public FirehoseRequest { public: UpdateDestinationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateDestination"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the delivery stream.

*/ inline const Aws::String& GetDeliveryStreamName() const{ return m_deliveryStreamName; } /** *

The name of the delivery stream.

*/ inline bool DeliveryStreamNameHasBeenSet() const { return m_deliveryStreamNameHasBeenSet; } /** *

The name of the delivery stream.

*/ inline void SetDeliveryStreamName(const Aws::String& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = value; } /** *

The name of the delivery stream.

*/ inline void SetDeliveryStreamName(Aws::String&& value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName = std::move(value); } /** *

The name of the delivery stream.

*/ inline void SetDeliveryStreamName(const char* value) { m_deliveryStreamNameHasBeenSet = true; m_deliveryStreamName.assign(value); } /** *

The name of the delivery stream.

*/ inline UpdateDestinationRequest& WithDeliveryStreamName(const Aws::String& value) { SetDeliveryStreamName(value); return *this;} /** *

The name of the delivery stream.

*/ inline UpdateDestinationRequest& WithDeliveryStreamName(Aws::String&& value) { SetDeliveryStreamName(std::move(value)); return *this;} /** *

The name of the delivery stream.

*/ inline UpdateDestinationRequest& WithDeliveryStreamName(const char* value) { SetDeliveryStreamName(value); return *this;} /** *

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.

*/ inline const Aws::String& GetCurrentDeliveryStreamVersionId() const{ return m_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.

*/ inline bool CurrentDeliveryStreamVersionIdHasBeenSet() const { return m_currentDeliveryStreamVersionIdHasBeenSet; } /** *

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.

*/ inline void SetCurrentDeliveryStreamVersionId(const Aws::String& value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId = value; } /** *

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.

*/ inline void SetCurrentDeliveryStreamVersionId(Aws::String&& value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId = std::move(value); } /** *

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.

*/ inline void SetCurrentDeliveryStreamVersionId(const char* value) { m_currentDeliveryStreamVersionIdHasBeenSet = true; m_currentDeliveryStreamVersionId.assign(value); } /** *

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.

*/ inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(const Aws::String& value) { SetCurrentDeliveryStreamVersionId(value); return *this;} /** *

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.

*/ inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(Aws::String&& value) { SetCurrentDeliveryStreamVersionId(std::move(value)); return *this;} /** *

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.

*/ inline UpdateDestinationRequest& WithCurrentDeliveryStreamVersionId(const char* value) { SetCurrentDeliveryStreamVersionId(value); return *this;} /** *

The ID of the destination.

*/ inline const Aws::String& GetDestinationId() const{ return m_destinationId; } /** *

The ID of the destination.

*/ inline bool DestinationIdHasBeenSet() const { return m_destinationIdHasBeenSet; } /** *

The ID of the destination.

*/ inline void SetDestinationId(const Aws::String& value) { m_destinationIdHasBeenSet = true; m_destinationId = value; } /** *

The ID of the destination.

*/ inline void SetDestinationId(Aws::String&& value) { m_destinationIdHasBeenSet = true; m_destinationId = std::move(value); } /** *

The ID of the destination.

*/ inline void SetDestinationId(const char* value) { m_destinationIdHasBeenSet = true; m_destinationId.assign(value); } /** *

The ID of the destination.

*/ inline UpdateDestinationRequest& WithDestinationId(const Aws::String& value) { SetDestinationId(value); return *this;} /** *

The ID of the destination.

*/ inline UpdateDestinationRequest& WithDestinationId(Aws::String&& value) { SetDestinationId(std::move(value)); return *this;} /** *

The ID of the destination.

*/ inline UpdateDestinationRequest& WithDestinationId(const char* value) { SetDestinationId(value); return *this;} /** *

Describes an update for a destination in Amazon S3.

*/ inline const ExtendedS3DestinationUpdate& GetExtendedS3DestinationUpdate() const{ return m_extendedS3DestinationUpdate; } /** *

Describes an update for a destination in Amazon S3.

*/ inline bool ExtendedS3DestinationUpdateHasBeenSet() const { return m_extendedS3DestinationUpdateHasBeenSet; } /** *

Describes an update for a destination in Amazon S3.

*/ inline void SetExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate& value) { m_extendedS3DestinationUpdateHasBeenSet = true; m_extendedS3DestinationUpdate = value; } /** *

Describes an update for a destination in Amazon S3.

*/ inline void SetExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate&& value) { m_extendedS3DestinationUpdateHasBeenSet = true; m_extendedS3DestinationUpdate = std::move(value); } /** *

Describes an update for a destination in Amazon S3.

*/ inline UpdateDestinationRequest& WithExtendedS3DestinationUpdate(const ExtendedS3DestinationUpdate& value) { SetExtendedS3DestinationUpdate(value); return *this;} /** *

Describes an update for a destination in Amazon S3.

*/ inline UpdateDestinationRequest& WithExtendedS3DestinationUpdate(ExtendedS3DestinationUpdate&& value) { SetExtendedS3DestinationUpdate(std::move(value)); return *this;} /** *

Describes an update for a destination in Amazon Redshift.

*/ inline const RedshiftDestinationUpdate& GetRedshiftDestinationUpdate() const{ return m_redshiftDestinationUpdate; } /** *

Describes an update for a destination in Amazon Redshift.

*/ inline bool RedshiftDestinationUpdateHasBeenSet() const { return m_redshiftDestinationUpdateHasBeenSet; } /** *

Describes an update for a destination in Amazon Redshift.

*/ inline void SetRedshiftDestinationUpdate(const RedshiftDestinationUpdate& value) { m_redshiftDestinationUpdateHasBeenSet = true; m_redshiftDestinationUpdate = value; } /** *

Describes an update for a destination in Amazon Redshift.

*/ inline void SetRedshiftDestinationUpdate(RedshiftDestinationUpdate&& value) { m_redshiftDestinationUpdateHasBeenSet = true; m_redshiftDestinationUpdate = std::move(value); } /** *

Describes an update for a destination in Amazon Redshift.

*/ inline UpdateDestinationRequest& WithRedshiftDestinationUpdate(const RedshiftDestinationUpdate& value) { SetRedshiftDestinationUpdate(value); return *this;} /** *

Describes an update for a destination in Amazon Redshift.

*/ inline UpdateDestinationRequest& WithRedshiftDestinationUpdate(RedshiftDestinationUpdate&& value) { SetRedshiftDestinationUpdate(std::move(value)); return *this;} /** *

Describes an update for a destination in Amazon ES.

*/ inline const ElasticsearchDestinationUpdate& GetElasticsearchDestinationUpdate() const{ return m_elasticsearchDestinationUpdate; } /** *

Describes an update for a destination in Amazon ES.

*/ inline bool ElasticsearchDestinationUpdateHasBeenSet() const { return m_elasticsearchDestinationUpdateHasBeenSet; } /** *

Describes an update for a destination in Amazon ES.

*/ inline void SetElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate& value) { m_elasticsearchDestinationUpdateHasBeenSet = true; m_elasticsearchDestinationUpdate = value; } /** *

Describes an update for a destination in Amazon ES.

*/ inline void SetElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate&& value) { m_elasticsearchDestinationUpdateHasBeenSet = true; m_elasticsearchDestinationUpdate = std::move(value); } /** *

Describes an update for a destination in Amazon ES.

*/ inline UpdateDestinationRequest& WithElasticsearchDestinationUpdate(const ElasticsearchDestinationUpdate& value) { SetElasticsearchDestinationUpdate(value); return *this;} /** *

Describes an update for a destination in Amazon ES.

*/ inline UpdateDestinationRequest& WithElasticsearchDestinationUpdate(ElasticsearchDestinationUpdate&& value) { SetElasticsearchDestinationUpdate(std::move(value)); return *this;} /** *

Describes an update for a destination in Splunk.

*/ inline const SplunkDestinationUpdate& GetSplunkDestinationUpdate() const{ return m_splunkDestinationUpdate; } /** *

Describes an update for a destination in Splunk.

*/ inline bool SplunkDestinationUpdateHasBeenSet() const { return m_splunkDestinationUpdateHasBeenSet; } /** *

Describes an update for a destination in Splunk.

*/ inline void SetSplunkDestinationUpdate(const SplunkDestinationUpdate& value) { m_splunkDestinationUpdateHasBeenSet = true; m_splunkDestinationUpdate = value; } /** *

Describes an update for a destination in Splunk.

*/ inline void SetSplunkDestinationUpdate(SplunkDestinationUpdate&& value) { m_splunkDestinationUpdateHasBeenSet = true; m_splunkDestinationUpdate = std::move(value); } /** *

Describes an update for a destination in Splunk.

*/ inline UpdateDestinationRequest& WithSplunkDestinationUpdate(const SplunkDestinationUpdate& value) { SetSplunkDestinationUpdate(value); return *this;} /** *

Describes an update for a destination in Splunk.

*/ inline UpdateDestinationRequest& WithSplunkDestinationUpdate(SplunkDestinationUpdate&& value) { SetSplunkDestinationUpdate(std::move(value)); return *this;} /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline const HttpEndpointDestinationUpdate& GetHttpEndpointDestinationUpdate() const{ return m_httpEndpointDestinationUpdate; } /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline bool HttpEndpointDestinationUpdateHasBeenSet() const { return m_httpEndpointDestinationUpdateHasBeenSet; } /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline void SetHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate& value) { m_httpEndpointDestinationUpdateHasBeenSet = true; m_httpEndpointDestinationUpdate = value; } /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline void SetHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate&& value) { m_httpEndpointDestinationUpdateHasBeenSet = true; m_httpEndpointDestinationUpdate = std::move(value); } /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline UpdateDestinationRequest& WithHttpEndpointDestinationUpdate(const HttpEndpointDestinationUpdate& value) { SetHttpEndpointDestinationUpdate(value); return *this;} /** *

Describes an update to the specified HTTP endpoint destination.

*/ inline UpdateDestinationRequest& WithHttpEndpointDestinationUpdate(HttpEndpointDestinationUpdate&& value) { SetHttpEndpointDestinationUpdate(std::move(value)); return *this;} private: Aws::String m_deliveryStreamName; bool m_deliveryStreamNameHasBeenSet; Aws::String m_currentDeliveryStreamVersionId; bool m_currentDeliveryStreamVersionIdHasBeenSet; Aws::String m_destinationId; bool m_destinationIdHasBeenSet; ExtendedS3DestinationUpdate m_extendedS3DestinationUpdate; bool m_extendedS3DestinationUpdateHasBeenSet; RedshiftDestinationUpdate m_redshiftDestinationUpdate; bool m_redshiftDestinationUpdateHasBeenSet; ElasticsearchDestinationUpdate m_elasticsearchDestinationUpdate; bool m_elasticsearchDestinationUpdateHasBeenSet; SplunkDestinationUpdate m_splunkDestinationUpdate; bool m_splunkDestinationUpdateHasBeenSet; HttpEndpointDestinationUpdate m_httpEndpointDestinationUpdate; bool m_httpEndpointDestinationUpdateHasBeenSet; }; } // namespace Model } // namespace Firehose } // namespace Aws