<?php
namespace Aws\Firehose;

use Aws\AwsClient;

/**
 * This client is used to interact with the **Amazon Kinesis Firehose** service.
 *
 * @method \Aws\Result createDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result createDeliveryStream(array{
 *     DeliveryStreamName?: string,
 *     DeliveryStreamType?: 'DatabaseAsSource'|'DirectPut'|'KinesisStreamAsSource'|'MSKAsSource',
 *     DirectPutSourceConfiguration?: array{ThroughputHintInMBs?: int, ...},
 *     KinesisStreamSourceConfiguration?: array{KinesisStreamARN?: string, RoleARN?: string, ...},
 *     DeliveryStreamEncryptionConfigurationInput?: array{KeyARN?: string, KeyType?: 'AWS_OWNED_CMK'|'CUSTOMER_MANAGED_CMK', ...},
 *     S3DestinationConfiguration?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     ExtendedS3DestinationConfiguration?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupConfiguration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         DataFormatConversionConfiguration?: array{
 *             SchemaConfiguration?: array,
 *             InputFormatConfiguration?: array,
 *             OutputFormatConfiguration?: array,
 *             Enabled?: bool,
 *             ...,
 *         },
 *         DynamicPartitioningConfiguration?: array{RetryOptions?: array, Enabled?: bool, ...},
 *         FileExtension?: string,
 *         CustomTimeZone?: string,
 *         ...,
 *     },
 *     RedshiftDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         ClusterJDBCURL?: string,
 *         CopyCommand?: array{DataTableName?: string, DataTableColumns?: string, CopyOptions?: string, ...},
 *         Username?: string,
 *         Password?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupConfiguration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     ElasticsearchDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     AmazonopensearchserviceDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     SplunkDestinationConfiguration?: array{
 *         HECEndpoint?: string,
 *         HECEndpointType?: 'Event'|'Raw',
 *         HECToken?: string,
 *         HECAcknowledgmentTimeoutInSeconds?: int,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllEvents'|'FailedEventsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     HttpEndpointDestinationConfiguration?: array{
 *         EndpointConfiguration?: array{Url?: string, Name?: string, AccessKey?: string, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         RequestConfiguration?: array{ContentEncoding?: 'GZIP'|'NONE', CommonAttributes?: list<array>, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     Tags?: list<array{Key?: string, Value?: string, ...}>,
 *     AmazonOpenSearchServerlessDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         CollectionEndpoint?: string,
 *         IndexName?: string,
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         ...,
 *     },
 *     MSKSourceConfiguration?: array{
 *         MSKClusterARN?: string,
 *         TopicName?: string,
 *         AuthenticationConfiguration?: array{RoleARN?: string, Connectivity?: 'PRIVATE'|'PUBLIC', ...},
 *         ReadFromTimestamp?: int|string|\DateTimeInterface,
 *         ...,
 *     },
 *     SnowflakeDestinationConfiguration?: array{
 *         AccountUrl?: string,
 *         PrivateKey?: string,
 *         KeyPassphrase?: string,
 *         User?: string,
 *         Database?: string,
 *         Schema?: string,
 *         Table?: string,
 *         SnowflakeRoleConfiguration?: array{Enabled?: bool, SnowflakeRole?: string, ...},
 *         DataLoadingOption?: 'JSON_MAPPING'|'VARIANT_CONTENT_AND_METADATA_MAPPING'|'VARIANT_CONTENT_MAPPING',
 *         MetaDataColumnName?: string,
 *         ContentColumnName?: string,
 *         SnowflakeVpcConfiguration?: array{PrivateLinkVpceId?: string, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         ...,
 *     },
 *     IcebergDestinationConfiguration?: array{
 *         DestinationTableConfigurationList?: list<array>,
 *         SchemaEvolutionConfiguration?: array{Enabled?: bool, ...},
 *         TableCreationConfiguration?: array{Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         RoleARN?: string,
 *         AppendOnly?: bool,
 *         CatalogConfiguration?: array{CatalogARN?: string, WarehouseLocation?: string, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ...,
 *     },
 *     DatabaseSourceConfiguration?: array{
 *         Type?: 'MySQL'|'PostgreSQL',
 *         Endpoint?: string,
 *         Port?: int,
 *         SSLMode?: 'Disabled'|'Enabled',
 *         Databases?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         Tables?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         Columns?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         SurrogateKeys?: list<string>,
 *         SnapshotWatermarkTable?: string,
 *         DatabaseSourceAuthenticationConfiguration?: array{SecretsManagerConfiguration?: array, ...},
 *         DatabaseSourceVPCConfiguration?: array{VpcEndpointServiceName?: string, ...},
 *         ...,
 *     },
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise createDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise createDeliveryStreamAsync(array{
 *     DeliveryStreamName?: string,
 *     DeliveryStreamType?: 'DatabaseAsSource'|'DirectPut'|'KinesisStreamAsSource'|'MSKAsSource',
 *     DirectPutSourceConfiguration?: array{ThroughputHintInMBs?: int, ...},
 *     KinesisStreamSourceConfiguration?: array{KinesisStreamARN?: string, RoleARN?: string, ...},
 *     DeliveryStreamEncryptionConfigurationInput?: array{KeyARN?: string, KeyType?: 'AWS_OWNED_CMK'|'CUSTOMER_MANAGED_CMK', ...},
 *     S3DestinationConfiguration?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     ExtendedS3DestinationConfiguration?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupConfiguration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         DataFormatConversionConfiguration?: array{
 *             SchemaConfiguration?: array,
 *             InputFormatConfiguration?: array,
 *             OutputFormatConfiguration?: array,
 *             Enabled?: bool,
 *             ...,
 *         },
 *         DynamicPartitioningConfiguration?: array{RetryOptions?: array, Enabled?: bool, ...},
 *         FileExtension?: string,
 *         CustomTimeZone?: string,
 *         ...,
 *     },
 *     RedshiftDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         ClusterJDBCURL?: string,
 *         CopyCommand?: array{DataTableName?: string, DataTableColumns?: string, CopyOptions?: string, ...},
 *         Username?: string,
 *         Password?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupConfiguration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     ElasticsearchDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     AmazonopensearchserviceDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     SplunkDestinationConfiguration?: array{
 *         HECEndpoint?: string,
 *         HECEndpointType?: 'Event'|'Raw',
 *         HECToken?: string,
 *         HECAcknowledgmentTimeoutInSeconds?: int,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllEvents'|'FailedEventsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     HttpEndpointDestinationConfiguration?: array{
 *         EndpointConfiguration?: array{Url?: string, Name?: string, AccessKey?: string, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         RequestConfiguration?: array{ContentEncoding?: 'GZIP'|'NONE', CommonAttributes?: list<array>, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     Tags?: list<array{Key?: string, Value?: string, ...}>,
 *     AmazonOpenSearchServerlessDestinationConfiguration?: array{
 *         RoleARN?: string,
 *         CollectionEndpoint?: string,
 *         IndexName?: string,
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllDocuments'|'FailedDocumentsOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         VpcConfiguration?: array{SubnetIds?: list<string>, RoleARN?: string, SecurityGroupIds?: list<string>, ...},
 *         ...,
 *     },
 *     MSKSourceConfiguration?: array{
 *         MSKClusterARN?: string,
 *         TopicName?: string,
 *         AuthenticationConfiguration?: array{RoleARN?: string, Connectivity?: 'PRIVATE'|'PUBLIC', ...},
 *         ReadFromTimestamp?: int|string|\DateTimeInterface,
 *         ...,
 *     },
 *     SnowflakeDestinationConfiguration?: array{
 *         AccountUrl?: string,
 *         PrivateKey?: string,
 *         KeyPassphrase?: string,
 *         User?: string,
 *         Database?: string,
 *         Schema?: string,
 *         Table?: string,
 *         SnowflakeRoleConfiguration?: array{Enabled?: bool, SnowflakeRole?: string, ...},
 *         DataLoadingOption?: 'JSON_MAPPING'|'VARIANT_CONTENT_AND_METADATA_MAPPING'|'VARIANT_CONTENT_MAPPING',
 *         MetaDataColumnName?: string,
 *         ContentColumnName?: string,
 *         SnowflakeVpcConfiguration?: array{PrivateLinkVpceId?: string, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         ...,
 *     },
 *     IcebergDestinationConfiguration?: array{
 *         DestinationTableConfigurationList?: list<array>,
 *         SchemaEvolutionConfiguration?: array{Enabled?: bool, ...},
 *         TableCreationConfiguration?: array{Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         RoleARN?: string,
 *         AppendOnly?: bool,
 *         CatalogConfiguration?: array{CatalogARN?: string, WarehouseLocation?: string, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ...,
 *     },
 *     DatabaseSourceConfiguration?: array{
 *         Type?: 'MySQL'|'PostgreSQL',
 *         Endpoint?: string,
 *         Port?: int,
 *         SSLMode?: 'Disabled'|'Enabled',
 *         Databases?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         Tables?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         Columns?: array{Include?: list<string>, Exclude?: list<string>, ...},
 *         SurrogateKeys?: list<string>,
 *         SnapshotWatermarkTable?: string,
 *         DatabaseSourceAuthenticationConfiguration?: array{SecretsManagerConfiguration?: array, ...},
 *         DatabaseSourceVPCConfiguration?: array{VpcEndpointServiceName?: string, ...},
 *         ...,
 *     },
 *     ...,
 * } $args = [])
 * @method \Aws\Result deleteDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result deleteDeliveryStream(array{DeliveryStreamName?: string, AllowForceDelete?: bool, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise deleteDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise deleteDeliveryStreamAsync(array{DeliveryStreamName?: string, AllowForceDelete?: bool, ...} $args = [])
 * @method \Aws\Result describeDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result describeDeliveryStream(array{DeliveryStreamName?: string, Limit?: int, ExclusiveStartDestinationId?: string, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise describeDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise describeDeliveryStreamAsync(array{DeliveryStreamName?: string, Limit?: int, ExclusiveStartDestinationId?: string, ...} $args = [])
 * @method \Aws\Result listDeliveryStreams(array $args = [])
 * @phpstan-method \Aws\Result listDeliveryStreams(array{
 *     Limit?: int,
 *     DeliveryStreamType?: 'DatabaseAsSource'|'DirectPut'|'KinesisStreamAsSource'|'MSKAsSource',
 *     ExclusiveStartDeliveryStreamName?: string,
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise listDeliveryStreamsAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise listDeliveryStreamsAsync(array{
 *     Limit?: int,
 *     DeliveryStreamType?: 'DatabaseAsSource'|'DirectPut'|'KinesisStreamAsSource'|'MSKAsSource',
 *     ExclusiveStartDeliveryStreamName?: string,
 *     ...,
 * } $args = [])
 * @method \Aws\Result listTagsForDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result listTagsForDeliveryStream(array{DeliveryStreamName?: string, ExclusiveStartTagKey?: string, Limit?: int, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise listTagsForDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise listTagsForDeliveryStreamAsync(array{DeliveryStreamName?: string, ExclusiveStartTagKey?: string, Limit?: int, ...} $args = [])
 * @method \Aws\Result putRecord(array $args = [])
 * @phpstan-method \Aws\Result putRecord(array{
 *     DeliveryStreamName?: string,
 *     Record?: array{Data?: string|resource|\Psr\Http\Message\StreamInterface, ...},
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise putRecordAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise putRecordAsync(array{
 *     DeliveryStreamName?: string,
 *     Record?: array{Data?: string|resource|\Psr\Http\Message\StreamInterface, ...},
 *     ...,
 * } $args = [])
 * @method \Aws\Result putRecordBatch(array $args = [])
 * @phpstan-method \Aws\Result putRecordBatch(array{
 *     DeliveryStreamName?: string,
 *     Records?: list<array{Data?: string|resource|\Psr\Http\Message\StreamInterface, ...}>,
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise putRecordBatchAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise putRecordBatchAsync(array{
 *     DeliveryStreamName?: string,
 *     Records?: list<array{Data?: string|resource|\Psr\Http\Message\StreamInterface, ...}>,
 *     ...,
 * } $args = [])
 * @method \Aws\Result startDeliveryStreamEncryption(array $args = [])
 * @phpstan-method \Aws\Result startDeliveryStreamEncryption(array{
 *     DeliveryStreamName?: string,
 *     DeliveryStreamEncryptionConfigurationInput?: array{KeyARN?: string, KeyType?: 'AWS_OWNED_CMK'|'CUSTOMER_MANAGED_CMK', ...},
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise startDeliveryStreamEncryptionAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise startDeliveryStreamEncryptionAsync(array{
 *     DeliveryStreamName?: string,
 *     DeliveryStreamEncryptionConfigurationInput?: array{KeyARN?: string, KeyType?: 'AWS_OWNED_CMK'|'CUSTOMER_MANAGED_CMK', ...},
 *     ...,
 * } $args = [])
 * @method \Aws\Result stopDeliveryStreamEncryption(array $args = [])
 * @phpstan-method \Aws\Result stopDeliveryStreamEncryption(array{DeliveryStreamName?: string, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise stopDeliveryStreamEncryptionAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise stopDeliveryStreamEncryptionAsync(array{DeliveryStreamName?: string, ...} $args = [])
 * @method \Aws\Result tagDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result tagDeliveryStream(array{DeliveryStreamName?: string, Tags?: list<array{Key?: string, Value?: string, ...}>, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise tagDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise tagDeliveryStreamAsync(array{DeliveryStreamName?: string, Tags?: list<array{Key?: string, Value?: string, ...}>, ...} $args = [])
 * @method \Aws\Result untagDeliveryStream(array $args = [])
 * @phpstan-method \Aws\Result untagDeliveryStream(array{DeliveryStreamName?: string, TagKeys?: list<string>, ...} $args = [])
 * @method \GuzzleHttp\Promise\Promise untagDeliveryStreamAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise untagDeliveryStreamAsync(array{DeliveryStreamName?: string, TagKeys?: list<string>, ...} $args = [])
 * @method \Aws\Result updateDestination(array $args = [])
 * @phpstan-method \Aws\Result updateDestination(array{
 *     DeliveryStreamName?: string,
 *     CurrentDeliveryStreamVersionId?: string,
 *     DestinationId?: string,
 *     S3DestinationUpdate?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     ExtendedS3DestinationUpdate?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupUpdate?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         DataFormatConversionConfiguration?: array{
 *             SchemaConfiguration?: array,
 *             InputFormatConfiguration?: array,
 *             OutputFormatConfiguration?: array,
 *             Enabled?: bool,
 *             ...,
 *         },
 *         DynamicPartitioningConfiguration?: array{RetryOptions?: array, Enabled?: bool, ...},
 *         FileExtension?: string,
 *         CustomTimeZone?: string,
 *         ...,
 *     },
 *     RedshiftDestinationUpdate?: array{
 *         RoleARN?: string,
 *         ClusterJDBCURL?: string,
 *         CopyCommand?: array{DataTableName?: string, DataTableColumns?: string, CopyOptions?: string, ...},
 *         Username?: string,
 *         Password?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupUpdate?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     ElasticsearchDestinationUpdate?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     AmazonopensearchserviceDestinationUpdate?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     SplunkDestinationUpdate?: array{
 *         HECEndpoint?: string,
 *         HECEndpointType?: 'Event'|'Raw',
 *         HECToken?: string,
 *         HECAcknowledgmentTimeoutInSeconds?: int,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllEvents'|'FailedEventsOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     HttpEndpointDestinationUpdate?: array{
 *         EndpointConfiguration?: array{Url?: string, Name?: string, AccessKey?: string, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         RequestConfiguration?: array{ContentEncoding?: 'GZIP'|'NONE', CommonAttributes?: list<array>, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     AmazonOpenSearchServerlessDestinationUpdate?: array{
 *         RoleARN?: string,
 *         CollectionEndpoint?: string,
 *         IndexName?: string,
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     SnowflakeDestinationUpdate?: array{
 *         AccountUrl?: string,
 *         PrivateKey?: string,
 *         KeyPassphrase?: string,
 *         User?: string,
 *         Database?: string,
 *         Schema?: string,
 *         Table?: string,
 *         SnowflakeRoleConfiguration?: array{Enabled?: bool, SnowflakeRole?: string, ...},
 *         DataLoadingOption?: 'JSON_MAPPING'|'VARIANT_CONTENT_AND_METADATA_MAPPING'|'VARIANT_CONTENT_MAPPING',
 *         MetaDataColumnName?: string,
 *         ContentColumnName?: string,
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         ...,
 *     },
 *     IcebergDestinationUpdate?: array{
 *         DestinationTableConfigurationList?: list<array>,
 *         SchemaEvolutionConfiguration?: array{Enabled?: bool, ...},
 *         TableCreationConfiguration?: array{Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         RoleARN?: string,
 *         AppendOnly?: bool,
 *         CatalogConfiguration?: array{CatalogARN?: string, WarehouseLocation?: string, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ...,
 *     },
 *     ...,
 * } $args = [])
 * @method \GuzzleHttp\Promise\Promise updateDestinationAsync(array $args = [])
 * @phpstan-method \GuzzleHttp\Promise\Promise updateDestinationAsync(array{
 *     DeliveryStreamName?: string,
 *     CurrentDeliveryStreamVersionId?: string,
 *     DestinationId?: string,
 *     S3DestinationUpdate?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     ExtendedS3DestinationUpdate?: array{
 *         RoleARN?: string,
 *         BucketARN?: string,
 *         Prefix?: string,
 *         ErrorOutputPrefix?: string,
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *         EncryptionConfiguration?: array{NoEncryptionConfig?: 'NoEncryption', KMSEncryptionConfig?: array, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupUpdate?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         DataFormatConversionConfiguration?: array{
 *             SchemaConfiguration?: array,
 *             InputFormatConfiguration?: array,
 *             OutputFormatConfiguration?: array,
 *             Enabled?: bool,
 *             ...,
 *         },
 *         DynamicPartitioningConfiguration?: array{RetryOptions?: array, Enabled?: bool, ...},
 *         FileExtension?: string,
 *         CustomTimeZone?: string,
 *         ...,
 *     },
 *     RedshiftDestinationUpdate?: array{
 *         RoleARN?: string,
 *         ClusterJDBCURL?: string,
 *         CopyCommand?: array{DataTableName?: string, DataTableColumns?: string, CopyOptions?: string, ...},
 *         Username?: string,
 *         Password?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'Disabled'|'Enabled',
 *         S3BackupUpdate?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     ElasticsearchDestinationUpdate?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     AmazonopensearchserviceDestinationUpdate?: array{
 *         RoleARN?: string,
 *         DomainARN?: string,
 *         ClusterEndpoint?: string,
 *         IndexName?: string,
 *         TypeName?: string,
 *         IndexRotationPeriod?: 'NoRotation'|'OneDay'|'OneHour'|'OneMonth'|'OneWeek',
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         DocumentIdOptions?: array{DefaultDocumentIdFormat?: 'FIREHOSE_DEFAULT'|'NO_DOCUMENT_ID', ...},
 *         ...,
 *     },
 *     SplunkDestinationUpdate?: array{
 *         HECEndpoint?: string,
 *         HECEndpointType?: 'Event'|'Raw',
 *         HECToken?: string,
 *         HECAcknowledgmentTimeoutInSeconds?: int,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllEvents'|'FailedEventsOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     HttpEndpointDestinationUpdate?: array{
 *         EndpointConfiguration?: array{Url?: string, Name?: string, AccessKey?: string, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         RequestConfiguration?: array{ContentEncoding?: 'GZIP'|'NONE', CommonAttributes?: list<array>, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         ...,
 *     },
 *     AmazonOpenSearchServerlessDestinationUpdate?: array{
 *         RoleARN?: string,
 *         CollectionEndpoint?: string,
 *         IndexName?: string,
 *         BufferingHints?: array{IntervalInSeconds?: int, SizeInMBs?: int, ...},
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ...,
 *     },
 *     SnowflakeDestinationUpdate?: array{
 *         AccountUrl?: string,
 *         PrivateKey?: string,
 *         KeyPassphrase?: string,
 *         User?: string,
 *         Database?: string,
 *         Schema?: string,
 *         Table?: string,
 *         SnowflakeRoleConfiguration?: array{Enabled?: bool, SnowflakeRole?: string, ...},
 *         DataLoadingOption?: 'JSON_MAPPING'|'VARIANT_CONTENT_AND_METADATA_MAPPING'|'VARIANT_CONTENT_MAPPING',
 *         MetaDataColumnName?: string,
 *         ContentColumnName?: string,
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         RoleARN?: string,
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         S3Update?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         SecretsManagerConfiguration?: array{SecretARN?: string, RoleARN?: string, Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         ...,
 *     },
 *     IcebergDestinationUpdate?: array{
 *         DestinationTableConfigurationList?: list<array>,
 *         SchemaEvolutionConfiguration?: array{Enabled?: bool, ...},
 *         TableCreationConfiguration?: array{Enabled?: bool, ...},
 *         BufferingHints?: array{SizeInMBs?: int, IntervalInSeconds?: int, ...},
 *         CloudWatchLoggingOptions?: array{Enabled?: bool, LogGroupName?: string, LogStreamName?: string, ...},
 *         ProcessingConfiguration?: array{Enabled?: bool, Processors?: list<array>, ...},
 *         S3BackupMode?: 'AllData'|'FailedDataOnly',
 *         RetryOptions?: array{DurationInSeconds?: int, ...},
 *         RoleARN?: string,
 *         AppendOnly?: bool,
 *         CatalogConfiguration?: array{CatalogARN?: string, WarehouseLocation?: string, ...},
 *         S3Configuration?: array{
 *             RoleARN?: string,
 *             BucketARN?: string,
 *             Prefix?: string,
 *             ErrorOutputPrefix?: string,
 *             BufferingHints?: array,
 *             CompressionFormat?: 'GZIP'|'HADOOP_SNAPPY'|'Snappy'|'UNCOMPRESSED'|'ZIP',
 *             EncryptionConfiguration?: array,
 *             CloudWatchLoggingOptions?: array,
 *             ...,
 *         },
 *         ...,
 *     },
 *     ...,
 * } $args = [])
 */
class FirehoseClient extends AwsClient {}
