/* * Copyright 2018-2023 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.
*
* 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. *
*/ private java.util.List* The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination. *
*/ private AmazonOpenSearchServerlessDestinationConfiguration amazonOpenSearchServerlessDestinationConfiguration; /** ** 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.
*
* DirectPut
: Provider applications access the delivery stream directly.
*
* KinesisStreamAsSource
: The delivery stream uses a Kinesis data stream as a source.
*
* 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.
*
* DirectPut
: Provider applications access the delivery stream directly.
*
* KinesisStreamAsSource
: The delivery stream uses a Kinesis data stream as a source.
*
* 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.
*
* DirectPut
: Provider applications access the delivery stream directly.
*
* KinesisStreamAsSource
: The delivery stream uses a Kinesis data stream as a source.
*
* 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.
*
* DirectPut
: Provider applications access the delivery stream directly.
*
* KinesisStreamAsSource
: The delivery stream uses a Kinesis data stream as a source.
*
* 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. *
* * @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.
*/
public java.util.List
* 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.
*
* You can specify up to 50 tags when creating a delivery stream.
*/
public void setTags(java.util.Collection
* 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.
*
* 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.
*
* You can specify up to 50 tags when creating a delivery stream.
* @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
* 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.
*
* You can specify up to 50 tags when creating a delivery stream.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateDeliveryStreamRequest withTags(java.util.Collection
* The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.
*
* The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.
*
* The destination in the Serverless offering for Amazon OpenSearch Service. You can specify only one destination.
*