Chilkat Online Tools

UpdateDestination SQL Server Example

Amazon Kinesis Data Firehose

CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @iTmp0 int
    DECLARE @sTmp0 nvarchar(max)
    -- This example requires the Chilkat API to have been previously unlocked.
    -- See Global Unlock Sample for sample code.

    DECLARE @rest int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Rest', @rest OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    DECLARE @success int

    DECLARE @authAws int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.AuthAws', @authAws OUT

    EXEC sp_OASetProperty @authAws, 'AccessKey', 'AWS_ACCESS_KEY'
    EXEC sp_OASetProperty @authAws, 'SecretKey', 'AWS_SECRET_KEY'

    -- Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
    EXEC sp_OASetProperty @authAws, 'Region', 'us-west-2'
    EXEC sp_OASetProperty @authAws, 'ServiceName', 'firehose'
    -- SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    EXEC sp_OAMethod @rest, 'SetAuthAws', @success OUT, @authAws

    -- URL: https://firehose.us-west-2.amazonaws.com/
    -- Use the same region as specified above.
    EXEC sp_OAMethod @rest, 'Connect', @success OUT, 'firehose.us-west-2.amazonaws.com', 443, 1, 1
    IF @success <> 1
      BEGIN

        EXEC sp_OAGetProperty @rest, 'ConnectFailReason', @iTmp0 OUT
        PRINT 'ConnectFailReason: ' + @iTmp0
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        RETURN
      END

    -- The following code creates the JSON request body.
    -- The JSON created by this code is shown below.

    -- Use this online tool to generate code from sample JSON:
    -- Generate Code to Create JSON

    DECLARE @json int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.JsonObject', @json OUT

    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.ClusterEndpoint', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.DomainARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.IndexName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.IndexRotationPeriod', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.S3Update.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'AmazonopensearchserviceDestinationUpdate.TypeName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'CurrentDeliveryStreamVersionId', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'DeliveryStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'DestinationId', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.ClusterEndpoint', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.DomainARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.IndexName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.IndexRotationPeriod', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.S3Update.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ElasticsearchDestinationUpdate.TypeName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.InputFormatConfiguration.Deserializer.HiveJsonSerDe.TimestampFormats[0]', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.InputFormatConfiguration.Deserializer.OpenXJsonSerDe.CaseInsensitive', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.InputFormatConfiguration.Deserializer.OpenXJsonSerDe.ColumnToJsonKeyMappings.string', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.InputFormatConfiguration.Deserializer.OpenXJsonSerDe.ConvertDotsInJsonKeysToUnderscores', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.BlockSizeBytes', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.BloomFilterColumns[0]', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.BloomFilterFalsePositiveProbability', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.Compression', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.DictionaryKeyThreshold', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.EnablePadding', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.FormatVersion', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.PaddingTolerance', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.RowIndexStride', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.OrcSerDe.StripeSizeBytes', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.BlockSizeBytes', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.Compression', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.EnableDictionaryCompression', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.MaxPaddingBytes', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.PageSizeBytes', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.OutputFormatConfiguration.Serializer.ParquetSerDe.WriterVersion', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.CatalogId', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.DatabaseName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.Region', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.TableName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.DataFormatConversionConfiguration.SchemaConfiguration.VersionId', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DynamicPartitioningConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.DynamicPartitioningConfiguration.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupMode', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'ExtendedS3DestinationUpdate.S3BackupUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.EndpointConfiguration.AccessKey', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.EndpointConfiguration.Name', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.EndpointConfiguration.Url', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.RequestConfiguration.CommonAttributes[0].AttributeName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.RequestConfiguration.CommonAttributes[0].AttributeValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.RequestConfiguration.ContentEncoding', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3BackupMode', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'HttpEndpointDestinationUpdate.S3Update.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.ClusterJDBCURL', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.CopyCommand.CopyOptions', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.CopyCommand.DataTableColumns', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.CopyCommand.DataTableName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.Password', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupMode', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3BackupUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3Update.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3Update.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'RedshiftDestinationUpdate.S3Update.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.S3Update.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'RedshiftDestinationUpdate.Username', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'S3DestinationUpdate.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'S3DestinationUpdate.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'S3DestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'S3DestinationUpdate.RoleARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.HECAcknowledgmentTimeoutInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.HECEndpoint', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.HECEndpointType', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.HECToken', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.ProcessingConfiguration.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.ProcessingConfiguration.Processors[0].Parameters[0].ParameterValue', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.ProcessingConfiguration.Processors[0].Type', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.RetryOptions.DurationInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3BackupMode', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.BucketARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.S3Update.BufferingHints.IntervalInSeconds', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.S3Update.BufferingHints.SizeInMBs', 123
    EXEC sp_OAMethod @json, 'UpdateInt', @success OUT, 'SplunkDestinationUpdate.S3Update.CloudWatchLoggingOptions.Enabled', 123
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogGroupName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.CloudWatchLoggingOptions.LogStreamName', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.CompressionFormat', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.EncryptionConfiguration.KMSEncryptionConfig.AWSKMSKeyARN', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.EncryptionConfiguration.NoEncryptionConfig', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.ErrorOutputPrefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.Prefix', 'string'
    EXEC sp_OAMethod @json, 'UpdateString', @success OUT, 'SplunkDestinationUpdate.S3Update.RoleARN', 'string'

    -- The JSON request body created by the above code:

    -- {
    --   "AmazonopensearchserviceDestinationUpdate": {
    --     "BufferingHints": {
    --       "IntervalInSeconds": number,
    --       "SizeInMBs": number
    --     },
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "ClusterEndpoint": "string",
    --     "DomainARN": "string",
    --     "IndexName": "string",
    --     "IndexRotationPeriod": "string",
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RetryOptions": {
    --       "DurationInSeconds": number
    --     },
    --     "RoleARN": "string",
    --     "S3Update": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     },
    --     "TypeName": "string"
    --   },
    --   "CurrentDeliveryStreamVersionId": "string",
    --   "DeliveryStreamName": "string",
    --   "DestinationId": "string",
    --   "ElasticsearchDestinationUpdate": {
    --     "BufferingHints": {
    --       "IntervalInSeconds": number,
    --       "SizeInMBs": number
    --     },
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "ClusterEndpoint": "string",
    --     "DomainARN": "string",
    --     "IndexName": "string",
    --     "IndexRotationPeriod": "string",
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RetryOptions": {
    --       "DurationInSeconds": number
    --     },
    --     "RoleARN": "string",
    --     "S3Update": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     },
    --     "TypeName": "string"
    --   },
    --   "ExtendedS3DestinationUpdate": {
    --     "BucketARN": "string",
    --     "BufferingHints": {
    --       "IntervalInSeconds": number,
    --       "SizeInMBs": number
    --     },
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "CompressionFormat": "string",
    --     "DataFormatConversionConfiguration": {
    --       "Enabled": boolean,
    --       "InputFormatConfiguration": {
    --         "Deserializer": {
    --           "HiveJsonSerDe": {
    --             "TimestampFormats": [
    --               "string"
    --             ]
    --           },
    --           "OpenXJsonSerDe": {
    --             "CaseInsensitive": boolean,
    --             "ColumnToJsonKeyMappings": {
    --               "string": "string"
    --             },
    --             "ConvertDotsInJsonKeysToUnderscores": boolean
    --           }
    --         }
    --       },
    --       "OutputFormatConfiguration": {
    --         "Serializer": {
    --           "OrcSerDe": {
    --             "BlockSizeBytes": number,
    --             "BloomFilterColumns": [
    --               "string"
    --             ],
    --             "BloomFilterFalsePositiveProbability": number,
    --             "Compression": "string",
    --             "DictionaryKeyThreshold": number,
    --             "EnablePadding": boolean,
    --             "FormatVersion": "string",
    --             "PaddingTolerance": number,
    --             "RowIndexStride": number,
    --             "StripeSizeBytes": number
    --           },
    --           "ParquetSerDe": {
    --             "BlockSizeBytes": number,
    --             "Compression": "string",
    --             "EnableDictionaryCompression": boolean,
    --             "MaxPaddingBytes": number,
    --             "PageSizeBytes": number,
    --             "WriterVersion": "string"
    --           }
    --         }
    --       },
    --       "SchemaConfiguration": {
    --         "CatalogId": "string",
    --         "DatabaseName": "string",
    --         "Region": "string",
    --         "RoleARN": "string",
    --         "TableName": "string",
    --         "VersionId": "string"
    --       }
    --     },
    --     "DynamicPartitioningConfiguration": {
    --       "Enabled": boolean,
    --       "RetryOptions": {
    --         "DurationInSeconds": number
    --       }
    --     },
    --     "EncryptionConfiguration": {
    --       "KMSEncryptionConfig": {
    --         "AWSKMSKeyARN": "string"
    --       },
    --       "NoEncryptionConfig": "string"
    --     },
    --     "ErrorOutputPrefix": "string",
    --     "Prefix": "string",
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RoleARN": "string",
    --     "S3BackupMode": "string",
    --     "S3BackupUpdate": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     }
    --   },
    --   "HttpEndpointDestinationUpdate": {
    --     "BufferingHints": {
    --       "IntervalInSeconds": number,
    --       "SizeInMBs": number
    --     },
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "EndpointConfiguration": {
    --       "AccessKey": "string",
    --       "Name": "string",
    --       "Url": "string"
    --     },
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RequestConfiguration": {
    --       "CommonAttributes": [
    --         {
    --           "AttributeName": "string",
    --           "AttributeValue": "string"
    --         }
    --       ],
    --       "ContentEncoding": "string"
    --     },
    --     "RetryOptions": {
    --       "DurationInSeconds": number
    --     },
    --     "RoleARN": "string",
    --     "S3BackupMode": "string",
    --     "S3Update": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     }
    --   },
    --   "RedshiftDestinationUpdate": {
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "ClusterJDBCURL": "string",
    --     "CopyCommand": {
    --       "CopyOptions": "string",
    --       "DataTableColumns": "string",
    --       "DataTableName": "string"
    --     },
    --     "Password": "string",
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RetryOptions": {
    --       "DurationInSeconds": number
    --     },
    --     "RoleARN": "string",
    --     "S3BackupMode": "string",
    --     "S3BackupUpdate": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     },
    --     "S3Update": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     },
    --     "Username": "string"
    --   },
    --   "S3DestinationUpdate": {
    --     "BucketARN": "string",
    --     "BufferingHints": {
    --       "IntervalInSeconds": number,
    --       "SizeInMBs": number
    --     },
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "CompressionFormat": "string",
    --     "EncryptionConfiguration": {
    --       "KMSEncryptionConfig": {
    --         "AWSKMSKeyARN": "string"
    --       },
    --       "NoEncryptionConfig": "string"
    --     },
    --     "ErrorOutputPrefix": "string",
    --     "Prefix": "string",
    --     "RoleARN": "string"
    --   },
    --   "SplunkDestinationUpdate": {
    --     "CloudWatchLoggingOptions": {
    --       "Enabled": boolean,
    --       "LogGroupName": "string",
    --       "LogStreamName": "string"
    --     },
    --     "HECAcknowledgmentTimeoutInSeconds": number,
    --     "HECEndpoint": "string",
    --     "HECEndpointType": "string",
    --     "HECToken": "string",
    --     "ProcessingConfiguration": {
    --       "Enabled": boolean,
    --       "Processors": [
    --         {
    --           "Parameters": [
    --             {
    --               "ParameterName": "string",
    --               "ParameterValue": "string"
    --             }
    --           ],
    --           "Type": "string"
    --         }
    --       ]
    --     },
    --     "RetryOptions": {
    --       "DurationInSeconds": number
    --     },
    --     "S3BackupMode": "string",
    --     "S3Update": {
    --       "BucketARN": "string",
    --       "BufferingHints": {
    --         "IntervalInSeconds": number,
    --         "SizeInMBs": number
    --       },
    --       "CloudWatchLoggingOptions": {
    --         "Enabled": boolean,
    --         "LogGroupName": "string",
    --         "LogStreamName": "string"
    --       },
    --       "CompressionFormat": "string",
    --       "EncryptionConfiguration": {
    --         "KMSEncryptionConfig": {
    --           "AWSKMSKeyARN": "string"
    --         },
    --         "NoEncryptionConfig": "string"
    --       },
    --       "ErrorOutputPrefix": "string",
    --       "Prefix": "string",
    --       "RoleARN": "string"
    --     }
    --   }
    -- }

    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'application/x-amz-json-1.1'
    EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'X-Amz-Target', 'Firehose_20150804.UpdateDestination'

    DECLARE @sbRequestBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbRequestBody OUT

    EXEC sp_OAMethod @json, 'EmitSb', @success OUT, @sbRequestBody
    DECLARE @sbResponseBody int
    EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT

    EXEC sp_OAMethod @rest, 'FullRequestSb', @success OUT, 'POST', '/', @sbRequestBody, @sbResponseBody
    IF @success <> 1
      BEGIN
        EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END
    DECLARE @respStatusCode int
    EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @respStatusCode OUT

    PRINT 'response status code = ' + @respStatusCode
    IF @respStatusCode <> 200
      BEGIN

        PRINT 'Response Header:'
        EXEC sp_OAGetProperty @rest, 'ResponseHeader', @sTmp0 OUT
        PRINT @sTmp0

        PRINT 'Response Body:'
        EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT
        PRINT @sTmp0
        EXEC @hr = sp_OADestroy @rest
        EXEC @hr = sp_OADestroy @authAws
        EXEC @hr = sp_OADestroy @json
        EXEC @hr = sp_OADestroy @sbRequestBody
        EXEC @hr = sp_OADestroy @sbResponseBody
        RETURN
      END

    -- If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

    EXEC @hr = sp_OADestroy @rest
    EXEC @hr = sp_OADestroy @authAws
    EXEC @hr = sp_OADestroy @json
    EXEC @hr = sp_OADestroy @sbRequestBody
    EXEC @hr = sp_OADestroy @sbResponseBody


END
GO