aws-sdk-firehose 1.112.0

AWS SDK for Amazon Kinesis Firehose
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct UpdateDestinationInput {
    /// <p>The name of the Firehose stream.</p>
    pub delivery_stream_name: ::std::option::Option<::std::string::String>,
    /// <p>Obtain this value from the <code>VersionId</code> result of <code>DeliveryStreamDescription</code>. 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 <code>VersionId</code> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>
    pub current_delivery_stream_version_id: ::std::option::Option<::std::string::String>,
    /// <p>The ID of the destination.</p>
    pub destination_id: ::std::option::Option<::std::string::String>,
    /// <p>\[Deprecated\] Describes an update for a destination in Amazon S3.</p>
    #[deprecated]
    pub s3_destination_update: ::std::option::Option<crate::types::S3DestinationUpdate>,
    /// <p>Describes an update for a destination in Amazon S3.</p>
    pub extended_s3_destination_update: ::std::option::Option<crate::types::ExtendedS3DestinationUpdate>,
    /// <p>Describes an update for a destination in Amazon Redshift.</p>
    pub redshift_destination_update: ::std::option::Option<crate::types::RedshiftDestinationUpdate>,
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub elasticsearch_destination_update: ::std::option::Option<crate::types::ElasticsearchDestinationUpdate>,
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub amazonopensearchservice_destination_update: ::std::option::Option<crate::types::AmazonopensearchserviceDestinationUpdate>,
    /// <p>Describes an update for a destination in Splunk.</p>
    pub splunk_destination_update: ::std::option::Option<crate::types::SplunkDestinationUpdate>,
    /// <p>Describes an update to the specified HTTP endpoint destination.</p>
    pub http_endpoint_destination_update: ::std::option::Option<crate::types::HttpEndpointDestinationUpdate>,
    /// <p>Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.</p>
    pub amazon_open_search_serverless_destination_update: ::std::option::Option<crate::types::AmazonOpenSearchServerlessDestinationUpdate>,
    /// <p>Update to the Snowflake destination configuration settings.</p>
    pub snowflake_destination_update: ::std::option::Option<crate::types::SnowflakeDestinationUpdate>,
    /// <p>Describes an update for a destination in Apache Iceberg Tables.</p>
    pub iceberg_destination_update: ::std::option::Option<crate::types::IcebergDestinationUpdate>,
}
impl UpdateDestinationInput {
    /// <p>The name of the Firehose stream.</p>
    pub fn delivery_stream_name(&self) -> ::std::option::Option<&str> {
        self.delivery_stream_name.as_deref()
    }
    /// <p>Obtain this value from the <code>VersionId</code> result of <code>DeliveryStreamDescription</code>. 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 <code>VersionId</code> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>
    pub fn current_delivery_stream_version_id(&self) -> ::std::option::Option<&str> {
        self.current_delivery_stream_version_id.as_deref()
    }
    /// <p>The ID of the destination.</p>
    pub fn destination_id(&self) -> ::std::option::Option<&str> {
        self.destination_id.as_deref()
    }
    /// <p>\[Deprecated\] Describes an update for a destination in Amazon S3.</p>
    #[deprecated]
    pub fn s3_destination_update(&self) -> ::std::option::Option<&crate::types::S3DestinationUpdate> {
        self.s3_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Amazon S3.</p>
    pub fn extended_s3_destination_update(&self) -> ::std::option::Option<&crate::types::ExtendedS3DestinationUpdate> {
        self.extended_s3_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Amazon Redshift.</p>
    pub fn redshift_destination_update(&self) -> ::std::option::Option<&crate::types::RedshiftDestinationUpdate> {
        self.redshift_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn elasticsearch_destination_update(&self) -> ::std::option::Option<&crate::types::ElasticsearchDestinationUpdate> {
        self.elasticsearch_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn amazonopensearchservice_destination_update(&self) -> ::std::option::Option<&crate::types::AmazonopensearchserviceDestinationUpdate> {
        self.amazonopensearchservice_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Splunk.</p>
    pub fn splunk_destination_update(&self) -> ::std::option::Option<&crate::types::SplunkDestinationUpdate> {
        self.splunk_destination_update.as_ref()
    }
    /// <p>Describes an update to the specified HTTP endpoint destination.</p>
    pub fn http_endpoint_destination_update(&self) -> ::std::option::Option<&crate::types::HttpEndpointDestinationUpdate> {
        self.http_endpoint_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.</p>
    pub fn amazon_open_search_serverless_destination_update(
        &self,
    ) -> ::std::option::Option<&crate::types::AmazonOpenSearchServerlessDestinationUpdate> {
        self.amazon_open_search_serverless_destination_update.as_ref()
    }
    /// <p>Update to the Snowflake destination configuration settings.</p>
    pub fn snowflake_destination_update(&self) -> ::std::option::Option<&crate::types::SnowflakeDestinationUpdate> {
        self.snowflake_destination_update.as_ref()
    }
    /// <p>Describes an update for a destination in Apache Iceberg Tables.</p>
    pub fn iceberg_destination_update(&self) -> ::std::option::Option<&crate::types::IcebergDestinationUpdate> {
        self.iceberg_destination_update.as_ref()
    }
}
impl UpdateDestinationInput {
    /// Creates a new builder-style object to manufacture [`UpdateDestinationInput`](crate::operation::update_destination::UpdateDestinationInput).
    pub fn builder() -> crate::operation::update_destination::builders::UpdateDestinationInputBuilder {
        crate::operation::update_destination::builders::UpdateDestinationInputBuilder::default()
    }
}

/// A builder for [`UpdateDestinationInput`](crate::operation::update_destination::UpdateDestinationInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct UpdateDestinationInputBuilder {
    pub(crate) delivery_stream_name: ::std::option::Option<::std::string::String>,
    pub(crate) current_delivery_stream_version_id: ::std::option::Option<::std::string::String>,
    pub(crate) destination_id: ::std::option::Option<::std::string::String>,
    pub(crate) s3_destination_update: ::std::option::Option<crate::types::S3DestinationUpdate>,
    pub(crate) extended_s3_destination_update: ::std::option::Option<crate::types::ExtendedS3DestinationUpdate>,
    pub(crate) redshift_destination_update: ::std::option::Option<crate::types::RedshiftDestinationUpdate>,
    pub(crate) elasticsearch_destination_update: ::std::option::Option<crate::types::ElasticsearchDestinationUpdate>,
    pub(crate) amazonopensearchservice_destination_update: ::std::option::Option<crate::types::AmazonopensearchserviceDestinationUpdate>,
    pub(crate) splunk_destination_update: ::std::option::Option<crate::types::SplunkDestinationUpdate>,
    pub(crate) http_endpoint_destination_update: ::std::option::Option<crate::types::HttpEndpointDestinationUpdate>,
    pub(crate) amazon_open_search_serverless_destination_update: ::std::option::Option<crate::types::AmazonOpenSearchServerlessDestinationUpdate>,
    pub(crate) snowflake_destination_update: ::std::option::Option<crate::types::SnowflakeDestinationUpdate>,
    pub(crate) iceberg_destination_update: ::std::option::Option<crate::types::IcebergDestinationUpdate>,
}
impl UpdateDestinationInputBuilder {
    /// <p>The name of the Firehose stream.</p>
    /// This field is required.
    pub fn delivery_stream_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.delivery_stream_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the Firehose stream.</p>
    pub fn set_delivery_stream_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.delivery_stream_name = input;
        self
    }
    /// <p>The name of the Firehose stream.</p>
    pub fn get_delivery_stream_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.delivery_stream_name
    }
    /// <p>Obtain this value from the <code>VersionId</code> result of <code>DeliveryStreamDescription</code>. 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 <code>VersionId</code> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>
    /// This field is required.
    pub fn current_delivery_stream_version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.current_delivery_stream_version_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>Obtain this value from the <code>VersionId</code> result of <code>DeliveryStreamDescription</code>. 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 <code>VersionId</code> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>
    pub fn set_current_delivery_stream_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.current_delivery_stream_version_id = input;
        self
    }
    /// <p>Obtain this value from the <code>VersionId</code> result of <code>DeliveryStreamDescription</code>. 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 <code>VersionId</code> value is updated. The service then performs a merge of the old configuration with the new configuration.</p>
    pub fn get_current_delivery_stream_version_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.current_delivery_stream_version_id
    }
    /// <p>The ID of the destination.</p>
    /// This field is required.
    pub fn destination_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.destination_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ID of the destination.</p>
    pub fn set_destination_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.destination_id = input;
        self
    }
    /// <p>The ID of the destination.</p>
    pub fn get_destination_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.destination_id
    }
    /// <p>\[Deprecated\] Describes an update for a destination in Amazon S3.</p>
    #[deprecated]
    pub fn s3_destination_update(mut self, input: crate::types::S3DestinationUpdate) -> Self {
        self.s3_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>\[Deprecated\] Describes an update for a destination in Amazon S3.</p>
    #[deprecated]
    pub fn set_s3_destination_update(mut self, input: ::std::option::Option<crate::types::S3DestinationUpdate>) -> Self {
        self.s3_destination_update = input;
        self
    }
    /// <p>\[Deprecated\] Describes an update for a destination in Amazon S3.</p>
    #[deprecated]
    pub fn get_s3_destination_update(&self) -> &::std::option::Option<crate::types::S3DestinationUpdate> {
        &self.s3_destination_update
    }
    /// <p>Describes an update for a destination in Amazon S3.</p>
    pub fn extended_s3_destination_update(mut self, input: crate::types::ExtendedS3DestinationUpdate) -> Self {
        self.extended_s3_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Amazon S3.</p>
    pub fn set_extended_s3_destination_update(mut self, input: ::std::option::Option<crate::types::ExtendedS3DestinationUpdate>) -> Self {
        self.extended_s3_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Amazon S3.</p>
    pub fn get_extended_s3_destination_update(&self) -> &::std::option::Option<crate::types::ExtendedS3DestinationUpdate> {
        &self.extended_s3_destination_update
    }
    /// <p>Describes an update for a destination in Amazon Redshift.</p>
    pub fn redshift_destination_update(mut self, input: crate::types::RedshiftDestinationUpdate) -> Self {
        self.redshift_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Amazon Redshift.</p>
    pub fn set_redshift_destination_update(mut self, input: ::std::option::Option<crate::types::RedshiftDestinationUpdate>) -> Self {
        self.redshift_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Amazon Redshift.</p>
    pub fn get_redshift_destination_update(&self) -> &::std::option::Option<crate::types::RedshiftDestinationUpdate> {
        &self.redshift_destination_update
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn elasticsearch_destination_update(mut self, input: crate::types::ElasticsearchDestinationUpdate) -> Self {
        self.elasticsearch_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn set_elasticsearch_destination_update(mut self, input: ::std::option::Option<crate::types::ElasticsearchDestinationUpdate>) -> Self {
        self.elasticsearch_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn get_elasticsearch_destination_update(&self) -> &::std::option::Option<crate::types::ElasticsearchDestinationUpdate> {
        &self.elasticsearch_destination_update
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn amazonopensearchservice_destination_update(mut self, input: crate::types::AmazonopensearchserviceDestinationUpdate) -> Self {
        self.amazonopensearchservice_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn set_amazonopensearchservice_destination_update(
        mut self,
        input: ::std::option::Option<crate::types::AmazonopensearchserviceDestinationUpdate>,
    ) -> Self {
        self.amazonopensearchservice_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Amazon OpenSearch Service.</p>
    pub fn get_amazonopensearchservice_destination_update(&self) -> &::std::option::Option<crate::types::AmazonopensearchserviceDestinationUpdate> {
        &self.amazonopensearchservice_destination_update
    }
    /// <p>Describes an update for a destination in Splunk.</p>
    pub fn splunk_destination_update(mut self, input: crate::types::SplunkDestinationUpdate) -> Self {
        self.splunk_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Splunk.</p>
    pub fn set_splunk_destination_update(mut self, input: ::std::option::Option<crate::types::SplunkDestinationUpdate>) -> Self {
        self.splunk_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Splunk.</p>
    pub fn get_splunk_destination_update(&self) -> &::std::option::Option<crate::types::SplunkDestinationUpdate> {
        &self.splunk_destination_update
    }
    /// <p>Describes an update to the specified HTTP endpoint destination.</p>
    pub fn http_endpoint_destination_update(mut self, input: crate::types::HttpEndpointDestinationUpdate) -> Self {
        self.http_endpoint_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update to the specified HTTP endpoint destination.</p>
    pub fn set_http_endpoint_destination_update(mut self, input: ::std::option::Option<crate::types::HttpEndpointDestinationUpdate>) -> Self {
        self.http_endpoint_destination_update = input;
        self
    }
    /// <p>Describes an update to the specified HTTP endpoint destination.</p>
    pub fn get_http_endpoint_destination_update(&self) -> &::std::option::Option<crate::types::HttpEndpointDestinationUpdate> {
        &self.http_endpoint_destination_update
    }
    /// <p>Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.</p>
    pub fn amazon_open_search_serverless_destination_update(mut self, input: crate::types::AmazonOpenSearchServerlessDestinationUpdate) -> Self {
        self.amazon_open_search_serverless_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.</p>
    pub fn set_amazon_open_search_serverless_destination_update(
        mut self,
        input: ::std::option::Option<crate::types::AmazonOpenSearchServerlessDestinationUpdate>,
    ) -> Self {
        self.amazon_open_search_serverless_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in the Serverless offering for Amazon OpenSearch Service.</p>
    pub fn get_amazon_open_search_serverless_destination_update(
        &self,
    ) -> &::std::option::Option<crate::types::AmazonOpenSearchServerlessDestinationUpdate> {
        &self.amazon_open_search_serverless_destination_update
    }
    /// <p>Update to the Snowflake destination configuration settings.</p>
    pub fn snowflake_destination_update(mut self, input: crate::types::SnowflakeDestinationUpdate) -> Self {
        self.snowflake_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Update to the Snowflake destination configuration settings.</p>
    pub fn set_snowflake_destination_update(mut self, input: ::std::option::Option<crate::types::SnowflakeDestinationUpdate>) -> Self {
        self.snowflake_destination_update = input;
        self
    }
    /// <p>Update to the Snowflake destination configuration settings.</p>
    pub fn get_snowflake_destination_update(&self) -> &::std::option::Option<crate::types::SnowflakeDestinationUpdate> {
        &self.snowflake_destination_update
    }
    /// <p>Describes an update for a destination in Apache Iceberg Tables.</p>
    pub fn iceberg_destination_update(mut self, input: crate::types::IcebergDestinationUpdate) -> Self {
        self.iceberg_destination_update = ::std::option::Option::Some(input);
        self
    }
    /// <p>Describes an update for a destination in Apache Iceberg Tables.</p>
    pub fn set_iceberg_destination_update(mut self, input: ::std::option::Option<crate::types::IcebergDestinationUpdate>) -> Self {
        self.iceberg_destination_update = input;
        self
    }
    /// <p>Describes an update for a destination in Apache Iceberg Tables.</p>
    pub fn get_iceberg_destination_update(&self) -> &::std::option::Option<crate::types::IcebergDestinationUpdate> {
        &self.iceberg_destination_update
    }
    /// Consumes the builder and constructs a [`UpdateDestinationInput`](crate::operation::update_destination::UpdateDestinationInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<crate::operation::update_destination::UpdateDestinationInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::update_destination::UpdateDestinationInput {
            delivery_stream_name: self.delivery_stream_name,
            current_delivery_stream_version_id: self.current_delivery_stream_version_id,
            destination_id: self.destination_id,
            s3_destination_update: self.s3_destination_update,
            extended_s3_destination_update: self.extended_s3_destination_update,
            redshift_destination_update: self.redshift_destination_update,
            elasticsearch_destination_update: self.elasticsearch_destination_update,
            amazonopensearchservice_destination_update: self.amazonopensearchservice_destination_update,
            splunk_destination_update: self.splunk_destination_update,
            http_endpoint_destination_update: self.http_endpoint_destination_update,
            amazon_open_search_serverless_destination_update: self.amazon_open_search_serverless_destination_update,
            snowflake_destination_update: self.snowflake_destination_update,
            iceberg_destination_update: self.iceberg_destination_update,
        })
    }
}