com.amazonaws.services.kinesisfirehose.model.CreateDeliveryStreamRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-kinesis Show documentation
/*
* 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();
}
}