module Stratosphere.KinesisFirehose.DeliveryStream.HttpEndpointDestinationConfigurationProperty ( module Exports, HttpEndpointDestinationConfigurationProperty(..), mkHttpEndpointDestinationConfigurationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.BufferingHintsProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.CloudWatchLoggingOptionsProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.HttpEndpointConfigurationProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.HttpEndpointRequestConfigurationProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.ProcessingConfigurationProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.RetryOptionsProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.S3DestinationConfigurationProperty as Exports import {-# SOURCE #-} Stratosphere.KinesisFirehose.DeliveryStream.SecretsManagerConfigurationProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data HttpEndpointDestinationConfigurationProperty = -- | See: HttpEndpointDestinationConfigurationProperty {haddock_workaround_ :: (), -- | See: bufferingHints :: (Prelude.Maybe BufferingHintsProperty), -- | See: cloudWatchLoggingOptions :: (Prelude.Maybe CloudWatchLoggingOptionsProperty), -- | See: endpointConfiguration :: HttpEndpointConfigurationProperty, -- | See: processingConfiguration :: (Prelude.Maybe ProcessingConfigurationProperty), -- | See: requestConfiguration :: (Prelude.Maybe HttpEndpointRequestConfigurationProperty), -- | See: retryOptions :: (Prelude.Maybe RetryOptionsProperty), -- | See: roleARN :: (Prelude.Maybe (Value Prelude.Text)), -- | See: s3BackupMode :: (Prelude.Maybe (Value Prelude.Text)), -- | See: s3Configuration :: S3DestinationConfigurationProperty, -- | See: secretsManagerConfiguration :: (Prelude.Maybe SecretsManagerConfigurationProperty)} deriving stock (Prelude.Eq, Prelude.Show) mkHttpEndpointDestinationConfigurationProperty :: HttpEndpointConfigurationProperty -> S3DestinationConfigurationProperty -> HttpEndpointDestinationConfigurationProperty mkHttpEndpointDestinationConfigurationProperty endpointConfiguration s3Configuration = HttpEndpointDestinationConfigurationProperty {haddock_workaround_ = (), endpointConfiguration = endpointConfiguration, s3Configuration = s3Configuration, bufferingHints = Prelude.Nothing, cloudWatchLoggingOptions = Prelude.Nothing, processingConfiguration = Prelude.Nothing, requestConfiguration = Prelude.Nothing, retryOptions = Prelude.Nothing, roleARN = Prelude.Nothing, s3BackupMode = Prelude.Nothing, secretsManagerConfiguration = Prelude.Nothing} instance ToResourceProperties HttpEndpointDestinationConfigurationProperty where toResourceProperties HttpEndpointDestinationConfigurationProperty {..} = ResourceProperties {awsType = "AWS::KinesisFirehose::DeliveryStream.HttpEndpointDestinationConfiguration", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["EndpointConfiguration" JSON..= endpointConfiguration, "S3Configuration" JSON..= s3Configuration] (Prelude.catMaybes [(JSON..=) "BufferingHints" Prelude.<$> bufferingHints, (JSON..=) "CloudWatchLoggingOptions" Prelude.<$> cloudWatchLoggingOptions, (JSON..=) "ProcessingConfiguration" Prelude.<$> processingConfiguration, (JSON..=) "RequestConfiguration" Prelude.<$> requestConfiguration, (JSON..=) "RetryOptions" Prelude.<$> retryOptions, (JSON..=) "RoleARN" Prelude.<$> roleARN, (JSON..=) "S3BackupMode" Prelude.<$> s3BackupMode, (JSON..=) "SecretsManagerConfiguration" Prelude.<$> secretsManagerConfiguration]))} instance JSON.ToJSON HttpEndpointDestinationConfigurationProperty where toJSON HttpEndpointDestinationConfigurationProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["EndpointConfiguration" JSON..= endpointConfiguration, "S3Configuration" JSON..= s3Configuration] (Prelude.catMaybes [(JSON..=) "BufferingHints" Prelude.<$> bufferingHints, (JSON..=) "CloudWatchLoggingOptions" Prelude.<$> cloudWatchLoggingOptions, (JSON..=) "ProcessingConfiguration" Prelude.<$> processingConfiguration, (JSON..=) "RequestConfiguration" Prelude.<$> requestConfiguration, (JSON..=) "RetryOptions" Prelude.<$> retryOptions, (JSON..=) "RoleARN" Prelude.<$> roleARN, (JSON..=) "S3BackupMode" Prelude.<$> s3BackupMode, (JSON..=) "SecretsManagerConfiguration" Prelude.<$> secretsManagerConfiguration]))) instance Property "BufferingHints" HttpEndpointDestinationConfigurationProperty where type PropertyType "BufferingHints" HttpEndpointDestinationConfigurationProperty = BufferingHintsProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {bufferingHints = Prelude.pure newValue, ..} instance Property "CloudWatchLoggingOptions" HttpEndpointDestinationConfigurationProperty where type PropertyType "CloudWatchLoggingOptions" HttpEndpointDestinationConfigurationProperty = CloudWatchLoggingOptionsProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {cloudWatchLoggingOptions = Prelude.pure newValue, ..} instance Property "EndpointConfiguration" HttpEndpointDestinationConfigurationProperty where type PropertyType "EndpointConfiguration" HttpEndpointDestinationConfigurationProperty = HttpEndpointConfigurationProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {endpointConfiguration = newValue, ..} instance Property "ProcessingConfiguration" HttpEndpointDestinationConfigurationProperty where type PropertyType "ProcessingConfiguration" HttpEndpointDestinationConfigurationProperty = ProcessingConfigurationProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {processingConfiguration = Prelude.pure newValue, ..} instance Property "RequestConfiguration" HttpEndpointDestinationConfigurationProperty where type PropertyType "RequestConfiguration" HttpEndpointDestinationConfigurationProperty = HttpEndpointRequestConfigurationProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {requestConfiguration = Prelude.pure newValue, ..} instance Property "RetryOptions" HttpEndpointDestinationConfigurationProperty where type PropertyType "RetryOptions" HttpEndpointDestinationConfigurationProperty = RetryOptionsProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {retryOptions = Prelude.pure newValue, ..} instance Property "RoleARN" HttpEndpointDestinationConfigurationProperty where type PropertyType "RoleARN" HttpEndpointDestinationConfigurationProperty = Value Prelude.Text set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {roleARN = Prelude.pure newValue, ..} instance Property "S3BackupMode" HttpEndpointDestinationConfigurationProperty where type PropertyType "S3BackupMode" HttpEndpointDestinationConfigurationProperty = Value Prelude.Text set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {s3BackupMode = Prelude.pure newValue, ..} instance Property "S3Configuration" HttpEndpointDestinationConfigurationProperty where type PropertyType "S3Configuration" HttpEndpointDestinationConfigurationProperty = S3DestinationConfigurationProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {s3Configuration = newValue, ..} instance Property "SecretsManagerConfiguration" HttpEndpointDestinationConfigurationProperty where type PropertyType "SecretsManagerConfiguration" HttpEndpointDestinationConfigurationProperty = SecretsManagerConfigurationProperty set newValue HttpEndpointDestinationConfigurationProperty {..} = HttpEndpointDestinationConfigurationProperty {secretsManagerConfiguration = Prelude.pure newValue, ..}