All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.kinesisfirehose.model.CreateDeliveryStreamRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Kinesis module holds the client classes that are used for communicating with Amazon Kinesis Service

The newest version!
/*
 * Copyright 2019-2024 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.
 */
package com.amazonaws.services.kinesisfirehose.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class CreateDeliveryStreamRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web * Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple * delivery streams with the same name. *

*/ private String deliveryStreamName; /** *

* The delivery stream type. This parameter can be one of the following values: *

*
    *
  • *

    * DirectPut: Provider applications access the delivery stream directly. *

    *
  • *
  • *

    * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

    *
  • *
*/ private String deliveryStreamType; /** *

* When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the * role ARN for the source stream. *

*/ private KinesisStreamSourceConfiguration kinesisStreamSourceConfiguration; /** *

* Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE). *

*/ private DeliveryStreamEncryptionConfigurationInput deliveryStreamEncryptionConfigurationInput; /** *

* [Deprecated] The destination in Amazon S3. You can specify only one destination. *

*/ @Deprecated private S3DestinationConfiguration s3DestinationConfiguration; /** *

* The destination in Amazon S3. You can specify only one destination. *

*/ private ExtendedS3DestinationConfiguration extendedS3DestinationConfiguration; /** *

* The destination in Amazon Redshift. You can specify only one destination. *

*/ private RedshiftDestinationConfiguration redshiftDestinationConfiguration; /** *

* The destination in Amazon ES. You can specify only one destination. *

*/ private ElasticsearchDestinationConfiguration elasticsearchDestinationConfiguration; /** *

* The destination in Amazon OpenSearch Service. You can specify only one destination. *

*/ private AmazonopensearchserviceDestinationConfiguration amazonopensearchserviceDestinationConfiguration; /** *

* The destination in Splunk. You can specify only one destination. *

*/ private SplunkDestinationConfiguration splunkDestinationConfiguration; /** *

* Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one * destination. *

*/ private HttpEndpointDestinationConfiguration httpEndpointDestinationConfiguration; /** *

* A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to * Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or * other types of information that can help you distinguish the delivery stream. For more information about tags, * see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide. *

*

* You can specify up to 50 tags when creating a delivery stream. *

*

* If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional * authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create * tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource * tags will fail with an AccessDeniedException such as following. *

*

* AccessDeniedException *

*

* User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: * arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

*

* For an example IAM policy, see Tag example. *

*/ private java.util.List tags; /** *

* The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination. *

*/ private AmazonOpenSearchServerlessDestinationConfiguration amazonOpenSearchServerlessDestinationConfiguration; private MSKSourceConfiguration mSKSourceConfiguration; /** *

* Configure Snowflake destination *

*/ private SnowflakeDestinationConfiguration snowflakeDestinationConfiguration; /** *

* Configure Apache Iceberg Tables destination. *

*

* Amazon Data Firehose is in preview release and is subject to change. *

*/ private IcebergDestinationConfiguration icebergDestinationConfiguration; /** *

* The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web * Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple * delivery streams with the same name. *

* * @param deliveryStreamName * The name of the delivery stream. This name must be unique per Amazon Web Services account in the same * Amazon Web Services Region. If the delivery streams are in different accounts or different Regions, you * can have multiple delivery streams with the same name. */ public void setDeliveryStreamName(String deliveryStreamName) { this.deliveryStreamName = deliveryStreamName; } /** *

* The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web * Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple * delivery streams with the same name. *

* * @return The name of the delivery stream. This name must be unique per Amazon Web Services account in the same * Amazon Web Services Region. If the delivery streams are in different accounts or different Regions, you * can have multiple delivery streams with the same name. */ public String getDeliveryStreamName() { return this.deliveryStreamName; } /** *

* The name of the delivery stream. This name must be unique per Amazon Web Services account in the same Amazon Web * Services Region. If the delivery streams are in different accounts or different Regions, you can have multiple * delivery streams with the same name. *

* * @param deliveryStreamName * The name of the delivery stream. This name must be unique per Amazon Web Services account in the same * Amazon Web Services Region. If the delivery streams are in different accounts or different Regions, you * can have multiple delivery streams with the same name. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withDeliveryStreamName(String deliveryStreamName) { setDeliveryStreamName(deliveryStreamName); return this; } /** *

* The delivery stream type. This parameter can be one of the following values: *

*
    *
  • *

    * DirectPut: Provider applications access the delivery stream directly. *

    *
  • *
  • *

    * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

    *
  • *
* * @param deliveryStreamType * The delivery stream type. This parameter can be one of the following values:

*
    *
  • *

    * DirectPut: Provider applications access the delivery stream directly. *

    *
  • *
  • *

    * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

    *
  • * @see DeliveryStreamType */ public void setDeliveryStreamType(String deliveryStreamType) { this.deliveryStreamType = deliveryStreamType; } /** *

    * The delivery stream type. This parameter can be one of the following values: *

    *
      *
    • *

      * DirectPut: Provider applications access the delivery stream directly. *

      *
    • *
    • *

      * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

      *
    • *
    * * @return The delivery stream type. This parameter can be one of the following values:

    *
      *
    • *

      * DirectPut: Provider applications access the delivery stream directly. *

      *
    • *
    • *

      * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

      *
    • * @see DeliveryStreamType */ public String getDeliveryStreamType() { return this.deliveryStreamType; } /** *

      * The delivery stream type. This parameter can be one of the following values: *

      *
        *
      • *

        * DirectPut: Provider applications access the delivery stream directly. *

        *
      • *
      • *

        * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

        *
      • *
      * * @param deliveryStreamType * The delivery stream type. This parameter can be one of the following values:

      *
        *
      • *

        * DirectPut: Provider applications access the delivery stream directly. *

        *
      • *
      • *

        * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see DeliveryStreamType */ public CreateDeliveryStreamRequest withDeliveryStreamType(String deliveryStreamType) { setDeliveryStreamType(deliveryStreamType); return this; } /** *

        * The delivery stream type. This parameter can be one of the following values: *

        *
          *
        • *

          * DirectPut: Provider applications access the delivery stream directly. *

          *
        • *
        • *

          * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

          *
        • *
        * * @param deliveryStreamType * The delivery stream type. This parameter can be one of the following values:

        *
          *
        • *

          * DirectPut: Provider applications access the delivery stream directly. *

          *
        • *
        • *

          * KinesisStreamAsSource: The delivery stream uses a Kinesis data stream as a source. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see DeliveryStreamType */ public CreateDeliveryStreamRequest withDeliveryStreamType(DeliveryStreamType deliveryStreamType) { this.deliveryStreamType = deliveryStreamType.toString(); return this; } /** *

          * When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the * role ARN for the source stream. *

          * * @param kinesisStreamSourceConfiguration * When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and * the role ARN for the source stream. */ public void setKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration kinesisStreamSourceConfiguration) { this.kinesisStreamSourceConfiguration = kinesisStreamSourceConfiguration; } /** *

          * When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the * role ARN for the source stream. *

          * * @return When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and * the role ARN for the source stream. */ public KinesisStreamSourceConfiguration getKinesisStreamSourceConfiguration() { return this.kinesisStreamSourceConfiguration; } /** *

          * When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and the * role ARN for the source stream. *

          * * @param kinesisStreamSourceConfiguration * When a Kinesis data stream is used as the source for the delivery stream, a * KinesisStreamSourceConfiguration containing the Kinesis data stream Amazon Resource Name (ARN) and * the role ARN for the source stream. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withKinesisStreamSourceConfiguration(KinesisStreamSourceConfiguration kinesisStreamSourceConfiguration) { setKinesisStreamSourceConfiguration(kinesisStreamSourceConfiguration); return this; } /** *

          * Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE). *

          * * @param deliveryStreamEncryptionConfigurationInput * Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption * (SSE). */ public void setDeliveryStreamEncryptionConfigurationInput(DeliveryStreamEncryptionConfigurationInput deliveryStreamEncryptionConfigurationInput) { this.deliveryStreamEncryptionConfigurationInput = deliveryStreamEncryptionConfigurationInput; } /** *

          * Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE). *

          * * @return Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption * (SSE). */ public DeliveryStreamEncryptionConfigurationInput getDeliveryStreamEncryptionConfigurationInput() { return this.deliveryStreamEncryptionConfigurationInput; } /** *

          * Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption (SSE). *

          * * @param deliveryStreamEncryptionConfigurationInput * Used to specify the type and Amazon Resource Name (ARN) of the KMS key needed for Server-Side Encryption * (SSE). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withDeliveryStreamEncryptionConfigurationInput( DeliveryStreamEncryptionConfigurationInput deliveryStreamEncryptionConfigurationInput) { setDeliveryStreamEncryptionConfigurationInput(deliveryStreamEncryptionConfigurationInput); return this; } /** *

          * [Deprecated] The destination in Amazon S3. You can specify only one destination. *

          * * @param s3DestinationConfiguration * [Deprecated] The destination in Amazon S3. You can specify only one destination. */ @Deprecated public void setS3DestinationConfiguration(S3DestinationConfiguration s3DestinationConfiguration) { this.s3DestinationConfiguration = s3DestinationConfiguration; } /** *

          * [Deprecated] The destination in Amazon S3. You can specify only one destination. *

          * * @return [Deprecated] The destination in Amazon S3. You can specify only one destination. */ @Deprecated public S3DestinationConfiguration getS3DestinationConfiguration() { return this.s3DestinationConfiguration; } /** *

          * [Deprecated] The destination in Amazon S3. You can specify only one destination. *

          * * @param s3DestinationConfiguration * [Deprecated] The destination in Amazon S3. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ @Deprecated public CreateDeliveryStreamRequest withS3DestinationConfiguration(S3DestinationConfiguration s3DestinationConfiguration) { setS3DestinationConfiguration(s3DestinationConfiguration); return this; } /** *

          * The destination in Amazon S3. You can specify only one destination. *

          * * @param extendedS3DestinationConfiguration * The destination in Amazon S3. You can specify only one destination. */ public void setExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration extendedS3DestinationConfiguration) { this.extendedS3DestinationConfiguration = extendedS3DestinationConfiguration; } /** *

          * The destination in Amazon S3. You can specify only one destination. *

          * * @return The destination in Amazon S3. You can specify only one destination. */ public ExtendedS3DestinationConfiguration getExtendedS3DestinationConfiguration() { return this.extendedS3DestinationConfiguration; } /** *

          * The destination in Amazon S3. You can specify only one destination. *

          * * @param extendedS3DestinationConfiguration * The destination in Amazon S3. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withExtendedS3DestinationConfiguration(ExtendedS3DestinationConfiguration extendedS3DestinationConfiguration) { setExtendedS3DestinationConfiguration(extendedS3DestinationConfiguration); return this; } /** *

          * The destination in Amazon Redshift. You can specify only one destination. *

          * * @param redshiftDestinationConfiguration * The destination in Amazon Redshift. You can specify only one destination. */ public void setRedshiftDestinationConfiguration(RedshiftDestinationConfiguration redshiftDestinationConfiguration) { this.redshiftDestinationConfiguration = redshiftDestinationConfiguration; } /** *

          * The destination in Amazon Redshift. You can specify only one destination. *

          * * @return The destination in Amazon Redshift. You can specify only one destination. */ public RedshiftDestinationConfiguration getRedshiftDestinationConfiguration() { return this.redshiftDestinationConfiguration; } /** *

          * The destination in Amazon Redshift. You can specify only one destination. *

          * * @param redshiftDestinationConfiguration * The destination in Amazon Redshift. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withRedshiftDestinationConfiguration(RedshiftDestinationConfiguration redshiftDestinationConfiguration) { setRedshiftDestinationConfiguration(redshiftDestinationConfiguration); return this; } /** *

          * The destination in Amazon ES. You can specify only one destination. *

          * * @param elasticsearchDestinationConfiguration * The destination in Amazon ES. You can specify only one destination. */ public void setElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration elasticsearchDestinationConfiguration) { this.elasticsearchDestinationConfiguration = elasticsearchDestinationConfiguration; } /** *

          * The destination in Amazon ES. You can specify only one destination. *

          * * @return The destination in Amazon ES. You can specify only one destination. */ public ElasticsearchDestinationConfiguration getElasticsearchDestinationConfiguration() { return this.elasticsearchDestinationConfiguration; } /** *

          * The destination in Amazon ES. You can specify only one destination. *

          * * @param elasticsearchDestinationConfiguration * The destination in Amazon ES. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withElasticsearchDestinationConfiguration(ElasticsearchDestinationConfiguration elasticsearchDestinationConfiguration) { setElasticsearchDestinationConfiguration(elasticsearchDestinationConfiguration); return this; } /** *

          * The destination in Amazon OpenSearch Service. You can specify only one destination. *

          * * @param amazonopensearchserviceDestinationConfiguration * The destination in Amazon OpenSearch Service. You can specify only one destination. */ public void setAmazonopensearchserviceDestinationConfiguration( AmazonopensearchserviceDestinationConfiguration amazonopensearchserviceDestinationConfiguration) { this.amazonopensearchserviceDestinationConfiguration = amazonopensearchserviceDestinationConfiguration; } /** *

          * The destination in Amazon OpenSearch Service. You can specify only one destination. *

          * * @return The destination in Amazon OpenSearch Service. You can specify only one destination. */ public AmazonopensearchserviceDestinationConfiguration getAmazonopensearchserviceDestinationConfiguration() { return this.amazonopensearchserviceDestinationConfiguration; } /** *

          * The destination in Amazon OpenSearch Service. You can specify only one destination. *

          * * @param amazonopensearchserviceDestinationConfiguration * The destination in Amazon OpenSearch Service. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withAmazonopensearchserviceDestinationConfiguration( AmazonopensearchserviceDestinationConfiguration amazonopensearchserviceDestinationConfiguration) { setAmazonopensearchserviceDestinationConfiguration(amazonopensearchserviceDestinationConfiguration); return this; } /** *

          * The destination in Splunk. You can specify only one destination. *

          * * @param splunkDestinationConfiguration * The destination in Splunk. You can specify only one destination. */ public void setSplunkDestinationConfiguration(SplunkDestinationConfiguration splunkDestinationConfiguration) { this.splunkDestinationConfiguration = splunkDestinationConfiguration; } /** *

          * The destination in Splunk. You can specify only one destination. *

          * * @return The destination in Splunk. You can specify only one destination. */ public SplunkDestinationConfiguration getSplunkDestinationConfiguration() { return this.splunkDestinationConfiguration; } /** *

          * The destination in Splunk. You can specify only one destination. *

          * * @param splunkDestinationConfiguration * The destination in Splunk. You can specify only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withSplunkDestinationConfiguration(SplunkDestinationConfiguration splunkDestinationConfiguration) { setSplunkDestinationConfiguration(splunkDestinationConfiguration); return this; } /** *

          * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one * destination. *

          * * @param httpEndpointDestinationConfiguration * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify * only one destination. */ public void setHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration httpEndpointDestinationConfiguration) { this.httpEndpointDestinationConfiguration = httpEndpointDestinationConfiguration; } /** *

          * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one * destination. *

          * * @return Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify * only one destination. */ public HttpEndpointDestinationConfiguration getHttpEndpointDestinationConfiguration() { return this.httpEndpointDestinationConfiguration; } /** *

          * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify only one * destination. *

          * * @param httpEndpointDestinationConfiguration * Enables configuring Kinesis Firehose to deliver data to any HTTP endpoint destination. You can specify * only one destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withHttpEndpointDestinationConfiguration(HttpEndpointDestinationConfiguration httpEndpointDestinationConfiguration) { setHttpEndpointDestinationConfiguration(httpEndpointDestinationConfiguration); return this; } /** *

          * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to * Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or * other types of information that can help you distinguish the delivery stream. For more information about tags, * see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide. *

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional * authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create * tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource * tags will fail with an AccessDeniedException such as following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: * arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. *

          * * @return A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign * to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and * descriptions or other types of information that can help you distinguish the delivery stream. For more * information about tags, see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an * additional authorization on the firehose:TagDeliveryStream action to verify if users have * permissions to create tags. If you do not provide this permission, requests to create new Firehose * delivery streams with IAM resource tags will fail with an AccessDeniedException such as * following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on * resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based * policy. *

          *

          * For an example IAM policy, see Tag example. */ public java.util.List getTags() { return tags; } /** *

          * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to * Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or * other types of information that can help you distinguish the delivery stream. For more information about tags, * see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide. *

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional * authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create * tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource * tags will fail with an AccessDeniedException such as following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: * arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. *

          * * @param tags * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign * to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and * descriptions or other types of information that can help you distinguish the delivery stream. For more * information about tags, see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an * additional authorization on the firehose:TagDeliveryStream action to verify if users have * permissions to create tags. If you do not provide this permission, requests to create new Firehose * delivery streams with IAM resource tags will fail with an AccessDeniedException such as * following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on * resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. */ public void setTags(java.util.Collection tags) { if (tags == null) { this.tags = null; return; } this.tags = new java.util.ArrayList(tags); } /** *

          * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to * Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or * other types of information that can help you distinguish the delivery stream. For more information about tags, * see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide. *

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional * authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create * tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource * tags will fail with an AccessDeniedException such as following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: * arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. *

          *

          * NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *

          * * @param tags * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign * to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and * descriptions or other types of information that can help you distinguish the delivery stream. For more * information about tags, see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an * additional authorization on the firehose:TagDeliveryStream action to verify if users have * permissions to create tags. If you do not provide this permission, requests to create new Firehose * delivery streams with IAM resource tags will fail with an AccessDeniedException such as * following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on * resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new java.util.ArrayList(tags.length)); } for (Tag ele : tags) { this.tags.add(ele); } return this; } /** *

          * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign to * Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and descriptions or * other types of information that can help you distinguish the delivery stream. For more information about tags, * see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide. *

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an additional * authorization on the firehose:TagDeliveryStream action to verify if users have permissions to create * tags. If you do not provide this permission, requests to create new Firehose delivery streams with IAM resource * tags will fail with an AccessDeniedException such as following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: * arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. *

          * * @param tags * A set of tags to assign to the delivery stream. A tag is a key-value pair that you can define and assign * to Amazon Web Services resources. Tags are metadata. For example, you can add friendly names and * descriptions or other types of information that can help you distinguish the delivery stream. For more * information about tags, see Using Cost * Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

          *

          * You can specify up to 50 tags when creating a delivery stream. *

          *

          * If you specify tags in the CreateDeliveryStream action, Amazon Data Firehose performs an * additional authorization on the firehose:TagDeliveryStream action to verify if users have * permissions to create tags. If you do not provide this permission, requests to create new Firehose * delivery streams with IAM resource tags will fail with an AccessDeniedException such as * following. *

          *

          * AccessDeniedException *

          *

          * User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on * resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy. *

          *

          * For an example IAM policy, see Tag example. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withTags(java.util.Collection tags) { setTags(tags); return this; } /** *

          * The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination. *

          * * @param amazonOpenSearchServerlessDestinationConfiguration * The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one * destination. */ public void setAmazonOpenSearchServerlessDestinationConfiguration( AmazonOpenSearchServerlessDestinationConfiguration amazonOpenSearchServerlessDestinationConfiguration) { this.amazonOpenSearchServerlessDestinationConfiguration = amazonOpenSearchServerlessDestinationConfiguration; } /** *

          * The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination. *

          * * @return The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one * destination. */ public AmazonOpenSearchServerlessDestinationConfiguration getAmazonOpenSearchServerlessDestinationConfiguration() { return this.amazonOpenSearchServerlessDestinationConfiguration; } /** *

          * The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination. *

          * * @param amazonOpenSearchServerlessDestinationConfiguration * The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one * destination. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withAmazonOpenSearchServerlessDestinationConfiguration( AmazonOpenSearchServerlessDestinationConfiguration amazonOpenSearchServerlessDestinationConfiguration) { setAmazonOpenSearchServerlessDestinationConfiguration(amazonOpenSearchServerlessDestinationConfiguration); return this; } /** * @param mSKSourceConfiguration */ public void setMSKSourceConfiguration(MSKSourceConfiguration mSKSourceConfiguration) { this.mSKSourceConfiguration = mSKSourceConfiguration; } /** * @return */ public MSKSourceConfiguration getMSKSourceConfiguration() { return this.mSKSourceConfiguration; } /** * @param mSKSourceConfiguration * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withMSKSourceConfiguration(MSKSourceConfiguration mSKSourceConfiguration) { setMSKSourceConfiguration(mSKSourceConfiguration); return this; } /** *

          * Configure Snowflake destination *

          * * @param snowflakeDestinationConfiguration * Configure Snowflake destination */ public void setSnowflakeDestinationConfiguration(SnowflakeDestinationConfiguration snowflakeDestinationConfiguration) { this.snowflakeDestinationConfiguration = snowflakeDestinationConfiguration; } /** *

          * Configure Snowflake destination *

          * * @return Configure Snowflake destination */ public SnowflakeDestinationConfiguration getSnowflakeDestinationConfiguration() { return this.snowflakeDestinationConfiguration; } /** *

          * Configure Snowflake destination *

          * * @param snowflakeDestinationConfiguration * Configure Snowflake destination * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withSnowflakeDestinationConfiguration(SnowflakeDestinationConfiguration snowflakeDestinationConfiguration) { setSnowflakeDestinationConfiguration(snowflakeDestinationConfiguration); return this; } /** *

          * Configure Apache Iceberg Tables destination. *

          *

          * Amazon Data Firehose is in preview release and is subject to change. *

          * * @param icebergDestinationConfiguration * Configure Apache Iceberg Tables destination.

          *

          * Amazon Data Firehose is in preview release and is subject to change. */ public void setIcebergDestinationConfiguration(IcebergDestinationConfiguration icebergDestinationConfiguration) { this.icebergDestinationConfiguration = icebergDestinationConfiguration; } /** *

          * Configure Apache Iceberg Tables destination. *

          *

          * Amazon Data Firehose is in preview release and is subject to change. *

          * * @return Configure Apache Iceberg Tables destination.

          *

          * Amazon Data Firehose is in preview release and is subject to change. */ public IcebergDestinationConfiguration getIcebergDestinationConfiguration() { return this.icebergDestinationConfiguration; } /** *

          * Configure Apache Iceberg Tables destination. *

          *

          * Amazon Data Firehose is in preview release and is subject to change. *

          * * @param icebergDestinationConfiguration * Configure Apache Iceberg Tables destination.

          *

          * Amazon Data Firehose is in preview release and is subject to change. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateDeliveryStreamRequest withIcebergDestinationConfiguration(IcebergDestinationConfiguration icebergDestinationConfiguration) { setIcebergDestinationConfiguration(icebergDestinationConfiguration); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getDeliveryStreamName() != null) sb.append("DeliveryStreamName: ").append(getDeliveryStreamName()).append(","); if (getDeliveryStreamType() != null) sb.append("DeliveryStreamType: ").append(getDeliveryStreamType()).append(","); if (getKinesisStreamSourceConfiguration() != null) sb.append("KinesisStreamSourceConfiguration: ").append(getKinesisStreamSourceConfiguration()).append(","); if (getDeliveryStreamEncryptionConfigurationInput() != null) sb.append("DeliveryStreamEncryptionConfigurationInput: ").append(getDeliveryStreamEncryptionConfigurationInput()).append(","); if (getS3DestinationConfiguration() != null) sb.append("S3DestinationConfiguration: ").append(getS3DestinationConfiguration()).append(","); if (getExtendedS3DestinationConfiguration() != null) sb.append("ExtendedS3DestinationConfiguration: ").append(getExtendedS3DestinationConfiguration()).append(","); if (getRedshiftDestinationConfiguration() != null) sb.append("RedshiftDestinationConfiguration: ").append(getRedshiftDestinationConfiguration()).append(","); if (getElasticsearchDestinationConfiguration() != null) sb.append("ElasticsearchDestinationConfiguration: ").append(getElasticsearchDestinationConfiguration()).append(","); if (getAmazonopensearchserviceDestinationConfiguration() != null) sb.append("AmazonopensearchserviceDestinationConfiguration: ").append(getAmazonopensearchserviceDestinationConfiguration()).append(","); if (getSplunkDestinationConfiguration() != null) sb.append("SplunkDestinationConfiguration: ").append(getSplunkDestinationConfiguration()).append(","); if (getHttpEndpointDestinationConfiguration() != null) sb.append("HttpEndpointDestinationConfiguration: ").append(getHttpEndpointDestinationConfiguration()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getAmazonOpenSearchServerlessDestinationConfiguration() != null) sb.append("AmazonOpenSearchServerlessDestinationConfiguration: ").append(getAmazonOpenSearchServerlessDestinationConfiguration()).append(","); if (getMSKSourceConfiguration() != null) sb.append("MSKSourceConfiguration: ").append(getMSKSourceConfiguration()).append(","); if (getSnowflakeDestinationConfiguration() != null) sb.append("SnowflakeDestinationConfiguration: ").append(getSnowflakeDestinationConfiguration()).append(","); if (getIcebergDestinationConfiguration() != null) sb.append("IcebergDestinationConfiguration: ").append(getIcebergDestinationConfiguration()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateDeliveryStreamRequest == false) return false; CreateDeliveryStreamRequest other = (CreateDeliveryStreamRequest) obj; if (other.getDeliveryStreamName() == null ^ this.getDeliveryStreamName() == null) return false; if (other.getDeliveryStreamName() != null && other.getDeliveryStreamName().equals(this.getDeliveryStreamName()) == false) return false; if (other.getDeliveryStreamType() == null ^ this.getDeliveryStreamType() == null) return false; if (other.getDeliveryStreamType() != null && other.getDeliveryStreamType().equals(this.getDeliveryStreamType()) == false) return false; if (other.getKinesisStreamSourceConfiguration() == null ^ this.getKinesisStreamSourceConfiguration() == null) return false; if (other.getKinesisStreamSourceConfiguration() != null && other.getKinesisStreamSourceConfiguration().equals(this.getKinesisStreamSourceConfiguration()) == false) return false; if (other.getDeliveryStreamEncryptionConfigurationInput() == null ^ this.getDeliveryStreamEncryptionConfigurationInput() == null) return false; if (other.getDeliveryStreamEncryptionConfigurationInput() != null && other.getDeliveryStreamEncryptionConfigurationInput().equals(this.getDeliveryStreamEncryptionConfigurationInput()) == false) return false; if (other.getS3DestinationConfiguration() == null ^ this.getS3DestinationConfiguration() == null) return false; if (other.getS3DestinationConfiguration() != null && other.getS3DestinationConfiguration().equals(this.getS3DestinationConfiguration()) == false) return false; if (other.getExtendedS3DestinationConfiguration() == null ^ this.getExtendedS3DestinationConfiguration() == null) return false; if (other.getExtendedS3DestinationConfiguration() != null && other.getExtendedS3DestinationConfiguration().equals(this.getExtendedS3DestinationConfiguration()) == false) return false; if (other.getRedshiftDestinationConfiguration() == null ^ this.getRedshiftDestinationConfiguration() == null) return false; if (other.getRedshiftDestinationConfiguration() != null && other.getRedshiftDestinationConfiguration().equals(this.getRedshiftDestinationConfiguration()) == false) return false; if (other.getElasticsearchDestinationConfiguration() == null ^ this.getElasticsearchDestinationConfiguration() == null) return false; if (other.getElasticsearchDestinationConfiguration() != null && other.getElasticsearchDestinationConfiguration().equals(this.getElasticsearchDestinationConfiguration()) == false) return false; if (other.getAmazonopensearchserviceDestinationConfiguration() == null ^ this.getAmazonopensearchserviceDestinationConfiguration() == null) return false; if (other.getAmazonopensearchserviceDestinationConfiguration() != null && other.getAmazonopensearchserviceDestinationConfiguration().equals(this.getAmazonopensearchserviceDestinationConfiguration()) == false) return false; if (other.getSplunkDestinationConfiguration() == null ^ this.getSplunkDestinationConfiguration() == null) return false; if (other.getSplunkDestinationConfiguration() != null && other.getSplunkDestinationConfiguration().equals(this.getSplunkDestinationConfiguration()) == false) return false; if (other.getHttpEndpointDestinationConfiguration() == null ^ this.getHttpEndpointDestinationConfiguration() == null) return false; if (other.getHttpEndpointDestinationConfiguration() != null && other.getHttpEndpointDestinationConfiguration().equals(this.getHttpEndpointDestinationConfiguration()) == false) return false; if (other.getTags() == null ^ this.getTags() == null) return false; if (other.getTags() != null && other.getTags().equals(this.getTags()) == false) return false; if (other.getAmazonOpenSearchServerlessDestinationConfiguration() == null ^ this.getAmazonOpenSearchServerlessDestinationConfiguration() == null) return false; if (other.getAmazonOpenSearchServerlessDestinationConfiguration() != null && other.getAmazonOpenSearchServerlessDestinationConfiguration().equals(this.getAmazonOpenSearchServerlessDestinationConfiguration()) == false) return false; if (other.getMSKSourceConfiguration() == null ^ this.getMSKSourceConfiguration() == null) return false; if (other.getMSKSourceConfiguration() != null && other.getMSKSourceConfiguration().equals(this.getMSKSourceConfiguration()) == false) return false; if (other.getSnowflakeDestinationConfiguration() == null ^ this.getSnowflakeDestinationConfiguration() == null) return false; if (other.getSnowflakeDestinationConfiguration() != null && other.getSnowflakeDestinationConfiguration().equals(this.getSnowflakeDestinationConfiguration()) == false) return false; if (other.getIcebergDestinationConfiguration() == null ^ this.getIcebergDestinationConfiguration() == null) return false; if (other.getIcebergDestinationConfiguration() != null && other.getIcebergDestinationConfiguration().equals(this.getIcebergDestinationConfiguration()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getDeliveryStreamName() == null) ? 0 : getDeliveryStreamName().hashCode()); hashCode = prime * hashCode + ((getDeliveryStreamType() == null) ? 0 : getDeliveryStreamType().hashCode()); hashCode = prime * hashCode + ((getKinesisStreamSourceConfiguration() == null) ? 0 : getKinesisStreamSourceConfiguration().hashCode()); hashCode = prime * hashCode + ((getDeliveryStreamEncryptionConfigurationInput() == null) ? 0 : getDeliveryStreamEncryptionConfigurationInput().hashCode()); hashCode = prime * hashCode + ((getS3DestinationConfiguration() == null) ? 0 : getS3DestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getExtendedS3DestinationConfiguration() == null) ? 0 : getExtendedS3DestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getRedshiftDestinationConfiguration() == null) ? 0 : getRedshiftDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getElasticsearchDestinationConfiguration() == null) ? 0 : getElasticsearchDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getAmazonopensearchserviceDestinationConfiguration() == null) ? 0 : getAmazonopensearchserviceDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getSplunkDestinationConfiguration() == null) ? 0 : getSplunkDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getHttpEndpointDestinationConfiguration() == null) ? 0 : getHttpEndpointDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getAmazonOpenSearchServerlessDestinationConfiguration() == null) ? 0 : getAmazonOpenSearchServerlessDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getMSKSourceConfiguration() == null) ? 0 : getMSKSourceConfiguration().hashCode()); hashCode = prime * hashCode + ((getSnowflakeDestinationConfiguration() == null) ? 0 : getSnowflakeDestinationConfiguration().hashCode()); hashCode = prime * hashCode + ((getIcebergDestinationConfiguration() == null) ? 0 : getIcebergDestinationConfiguration().hashCode()); return hashCode; } @Override public CreateDeliveryStreamRequest clone() { return (CreateDeliveryStreamRequest) super.clone(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy