aws-sdk-firehose 1.23.0 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b93c8ef6587ad17d0422c4b02a0a6892390444ad
4
- data.tar.gz: 57b5878899010b16d8b8fbff6b30e9b461d4e68c
3
+ metadata.gz: 1ce4d2633d82f381e0e50865cc188f7ad3ddb385
4
+ data.tar.gz: 99e97f5764c7efe3e2986af5b25f644432168a1e
5
5
  SHA512:
6
- metadata.gz: e8d831801e5ea5ede0bc3b4620b91db80664b90b1d35847b1a1d8c5284ccb2da328fbce5d12bea34ef17e4f9b410baa2af110d689c4f2f23fb37e1838d574e62
7
- data.tar.gz: e519f1e609b0a74c6cf74e6da8e5da222ea9e4f4b1be61d2af91d888db71023421deb833cc90cf7b82b60e5789771974027213bb07d7f003da424b759f4964f0
6
+ metadata.gz: c63ff9b66687b3fd6e9ecd9cd3c2ea8c29dcc73caec18ef89cf648c29c0e1cf7e6a7d5770c3e883aed7e3ac2188bd72db041e77301ab47e80d8b703c5d839682
7
+ data.tar.gz: 001f15af1a8aa9a1f848dc28602b25b5d8424c015de362b6cc5503a27ee7117886f44cc55fa21ee491be7b20026f9416dc8fe345062b323e1043e69620e571cd
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-firehose/customizations'
42
42
  # @service
43
43
  module Aws::Firehose
44
44
 
45
- GEM_VERSION = '1.23.0'
45
+ GEM_VERSION = '1.24.0'
46
46
 
47
47
  end
@@ -271,9 +271,15 @@ module Aws::Firehose
271
271
  # This is an asynchronous operation that immediately returns. The
272
272
  # initial status of the delivery stream is `CREATING`. After the
273
273
  # delivery stream is created, its status is `ACTIVE` and it now accepts
274
- # data. Attempts to send data to a delivery stream that is not in the
275
- # `ACTIVE` state cause an exception. To check the state of a delivery
276
- # stream, use DescribeDeliveryStream.
274
+ # data. If the delivery stream creation fails, the status transitions to
275
+ # `CREATING_FAILED`. Attempts to send data to a delivery stream that is
276
+ # not in the `ACTIVE` state cause an exception. To check the state of a
277
+ # delivery stream, use DescribeDeliveryStream.
278
+ #
279
+ # If the status of a delivery stream is `CREATING_FAILED`, this status
280
+ # doesn't change, and you can't invoke `CreateDeliveryStream` again on
281
+ # it. However, you can invoke the DeleteDeliveryStream operation to
282
+ # delete it.
277
283
  #
278
284
  # A Kinesis Data Firehose delivery stream can be configured to receive
279
285
  # records directly from providers using PutRecord or PutRecordBatch, or
@@ -283,6 +289,12 @@ module Aws::Firehose
283
289
  # the Kinesis stream Amazon Resource Name (ARN) and role ARN in the
284
290
  # `KinesisStreamSourceConfiguration` parameter.
285
291
  #
292
+ # To create a delivery stream with server-side encryption (SSE) enabled,
293
+ # include DeliveryStreamEncryptionConfigurationInput in your request.
294
+ # This is optional. You can also invoke StartDeliveryStreamEncryption to
295
+ # turn on SSE for an existing delivery stream that doesn't have SSE
296
+ # enabled.
297
+ #
286
298
  # A delivery stream is configured with a single destination: Amazon S3,
287
299
  # Amazon ES, Amazon Redshift, or Splunk. You must specify only one of
288
300
  # the following destination configuration parameters:
@@ -354,6 +366,10 @@ module Aws::Firehose
354
366
  # stream Amazon Resource Name (ARN) and the role ARN for the source
355
367
  # stream.
356
368
  #
369
+ # @option params [Types::DeliveryStreamEncryptionConfigurationInput] :delivery_stream_encryption_configuration_input
370
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS key
371
+ # needed for Server-Side Encryption (SSE).
372
+ #
357
373
  # @option params [Types::S3DestinationConfiguration] :s3_destination_configuration
358
374
  # \[Deprecated\] The destination in Amazon S3. You can specify only one
359
375
  # destination.
@@ -398,6 +414,10 @@ module Aws::Firehose
398
414
  # kinesis_stream_arn: "KinesisStreamARN", # required
399
415
  # role_arn: "RoleARN", # required
400
416
  # },
417
+ # delivery_stream_encryption_configuration_input: {
418
+ # key_arn: "AWSKMSKeyARN",
419
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
420
+ # },
401
421
  # s3_destination_configuration: {
402
422
  # role_arn: "RoleARN", # required
403
423
  # bucket_arn: "BucketARN", # required
@@ -737,27 +757,45 @@ module Aws::Firehose
737
757
 
738
758
  # Deletes a delivery stream and its data.
739
759
  #
740
- # You can delete a delivery stream only if it is in `ACTIVE` or
741
- # `DELETING` state, and not in the `CREATING` state. While the deletion
742
- # request is in process, the delivery stream is in the `DELETING` state.
743
- #
744
760
  # To check the state of a delivery stream, use DescribeDeliveryStream.
745
- #
746
- # While the delivery stream is `DELETING` state, the service might
747
- # continue to accept the records, but it doesn't make any guarantees
761
+ # You can delete a delivery stream only if it is in one of the following
762
+ # states: `ACTIVE`, `DELETING`, `CREATING_FAILED`, or `DELETING_FAILED`.
763
+ # You can't delete a delivery stream that is in the `CREATING` state.
764
+ # While the deletion request is in process, the delivery stream is in
765
+ # the `DELETING` state.
766
+ #
767
+ # While the delivery stream is in the `DELETING` state, the service
768
+ # might continue to accept records, but it doesn't make any guarantees
748
769
  # with respect to delivering the data. Therefore, as a best practice,
749
- # you should first stop any applications that are sending records before
750
- # deleting a delivery stream.
770
+ # first stop any applications that are sending records before you delete
771
+ # a delivery stream.
751
772
  #
752
773
  # @option params [required, String] :delivery_stream_name
753
774
  # The name of the delivery stream.
754
775
  #
776
+ # @option params [Boolean] :allow_force_delete
777
+ # Set this to true if you want to delete the delivery stream even if
778
+ # Kinesis Data Firehose is unable to retire the grant for the CMK.
779
+ # Kinesis Data Firehose might be unable to retire the grant due to a
780
+ # customer error, such as when the CMK or the grant are in an invalid
781
+ # state. If you force deletion, you can then use the [RevokeGrant][1]
782
+ # operation to revoke the grant you gave to Kinesis Data Firehose. If a
783
+ # failure to retire the grant happens due to an AWS KMS issue, Kinesis
784
+ # Data Firehose keeps retrying the delete operation.
785
+ #
786
+ # The default value is false.
787
+ #
788
+ #
789
+ #
790
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html
791
+ #
755
792
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
756
793
  #
757
794
  # @example Request syntax with placeholder values
758
795
  #
759
796
  # resp = client.delete_delivery_stream({
760
797
  # delivery_stream_name: "DeliveryStreamName", # required
798
+ # allow_force_delete: false,
761
799
  # })
762
800
  #
763
801
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeleteDeliveryStream AWS API Documentation
@@ -769,10 +807,17 @@ module Aws::Firehose
769
807
  req.send_request(options)
770
808
  end
771
809
 
772
- # Describes the specified delivery stream and gets the status. For
773
- # example, after your delivery stream is created, call
774
- # `DescribeDeliveryStream` to see whether the delivery stream is
775
- # `ACTIVE` and therefore ready for data to be sent to it.
810
+ # Describes the specified delivery stream and its status. For example,
811
+ # after your delivery stream is created, call `DescribeDeliveryStream`
812
+ # to see whether the delivery stream is `ACTIVE` and therefore ready for
813
+ # data to be sent to it.
814
+ #
815
+ # If the status of a delivery stream is `CREATING_FAILED`, this status
816
+ # doesn't change, and you can't invoke CreateDeliveryStream again on
817
+ # it. However, you can invoke the DeleteDeliveryStream operation to
818
+ # delete it. If the status is `DELETING_FAILED`, you can force deletion
819
+ # by invoking DeleteDeliveryStream again but with
820
+ # DeleteDeliveryStreamInput$AllowForceDelete set to true.
776
821
  #
777
822
  # @option params [required, String] :delivery_stream_name
778
823
  # The name of the delivery stream.
@@ -802,8 +847,14 @@ module Aws::Firehose
802
847
  #
803
848
  # resp.delivery_stream_description.delivery_stream_name #=> String
804
849
  # resp.delivery_stream_description.delivery_stream_arn #=> String
805
- # resp.delivery_stream_description.delivery_stream_status #=> String, one of "CREATING", "DELETING", "ACTIVE"
806
- # resp.delivery_stream_description.delivery_stream_encryption_configuration.status #=> String, one of "ENABLED", "ENABLING", "DISABLED", "DISABLING"
850
+ # resp.delivery_stream_description.delivery_stream_status #=> String, one of "CREATING", "CREATING_FAILED", "DELETING", "DELETING_FAILED", "ACTIVE"
851
+ # resp.delivery_stream_description.failure_description.type #=> String, one of "RETIRE_KMS_GRANT_FAILED", "CREATE_KMS_GRANT_FAILED", "KMS_ACCESS_DENIED", "DISABLED_KMS_KEY", "INVALID_KMS_KEY", "KMS_KEY_NOT_FOUND", "KMS_OPT_IN_REQUIRED", "UNKNOWN_ERROR"
852
+ # resp.delivery_stream_description.failure_description.details #=> String
853
+ # resp.delivery_stream_description.delivery_stream_encryption_configuration.key_arn #=> String
854
+ # resp.delivery_stream_description.delivery_stream_encryption_configuration.key_type #=> String, one of "AWS_OWNED_CMK", "CUSTOMER_MANAGED_CMK"
855
+ # resp.delivery_stream_description.delivery_stream_encryption_configuration.status #=> String, one of "ENABLED", "ENABLING", "ENABLING_FAILED", "DISABLED", "DISABLING", "DISABLING_FAILED"
856
+ # resp.delivery_stream_description.delivery_stream_encryption_configuration.failure_description.type #=> String, one of "RETIRE_KMS_GRANT_FAILED", "CREATE_KMS_GRANT_FAILED", "KMS_ACCESS_DENIED", "DISABLED_KMS_KEY", "INVALID_KMS_KEY", "KMS_KEY_NOT_FOUND", "KMS_OPT_IN_REQUIRED", "UNKNOWN_ERROR"
857
+ # resp.delivery_stream_description.delivery_stream_encryption_configuration.failure_description.details #=> String
807
858
  # resp.delivery_stream_description.delivery_stream_type #=> String, one of "DirectPut", "KinesisStreamAsSource"
808
859
  # resp.delivery_stream_description.version_id #=> String
809
860
  # resp.delivery_stream_description.create_timestamp #=> Time
@@ -1302,19 +1353,38 @@ module Aws::Firehose
1302
1353
  # Enables server-side encryption (SSE) for the delivery stream.
1303
1354
  #
1304
1355
  # This operation is asynchronous. It returns immediately. When you
1305
- # invoke it, Kinesis Data Firehose first sets the status of the stream
1306
- # to `ENABLING`, and then to `ENABLED`. You can continue to read and
1307
- # write data to your stream while its status is `ENABLING`, but the data
1308
- # is not encrypted. It can take up to 5 seconds after the encryption
1309
- # status changes to `ENABLED` before all records written to the delivery
1310
- # stream are encrypted. To find out whether a record or a batch of
1311
- # records was encrypted, check the response elements
1312
- # PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted,
1313
- # respectively.
1314
- #
1315
- # To check the encryption state of a delivery stream, use
1356
+ # invoke it, Kinesis Data Firehose first sets the encryption status of
1357
+ # the stream to `ENABLING`, and then to `ENABLED`. The encryption status
1358
+ # of a delivery stream is the `Status` property in
1359
+ # DeliveryStreamEncryptionConfiguration. If the operation fails, the
1360
+ # encryption status changes to `ENABLING_FAILED`. You can continue to
1361
+ # read and write data to your delivery stream while the encryption
1362
+ # status is `ENABLING`, but the data is not encrypted. It can take up to
1363
+ # 5 seconds after the encryption status changes to `ENABLED` before all
1364
+ # records written to the delivery stream are encrypted. To find out
1365
+ # whether a record or a batch of records was encrypted, check the
1366
+ # response elements PutRecordOutput$Encrypted and
1367
+ # PutRecordBatchOutput$Encrypted, respectively.
1368
+ #
1369
+ # To check the encryption status of a delivery stream, use
1316
1370
  # DescribeDeliveryStream.
1317
1371
  #
1372
+ # Even if encryption is currently enabled for a delivery stream, you can
1373
+ # still invoke this operation on it to change the ARN of the CMK or both
1374
+ # its type and ARN. In this case, Kinesis Data Firehose schedules the
1375
+ # grant it had on the old CMK for retirement and creates a grant that
1376
+ # enables it to use the new CMK to encrypt and decrypt data and to
1377
+ # manage the grant.
1378
+ #
1379
+ # If a delivery stream already has encryption enabled and then you
1380
+ # invoke this operation to change the ARN of the CMK or both its type
1381
+ # and ARN and you get `ENABLING_FAILED`, this only means that the
1382
+ # attempt to change the CMK failed. In this case, encryption remains
1383
+ # enabled with the old CMK.
1384
+ #
1385
+ # If the encryption status of your delivery stream is `ENABLING_FAILED`,
1386
+ # you can invoke this operation again.
1387
+ #
1318
1388
  # You can only enable SSE for a delivery stream that uses `DirectPut` as
1319
1389
  # its source.
1320
1390
  #
@@ -1329,12 +1399,20 @@ module Aws::Firehose
1329
1399
  # The name of the delivery stream for which you want to enable
1330
1400
  # server-side encryption (SSE).
1331
1401
  #
1402
+ # @option params [Types::DeliveryStreamEncryptionConfigurationInput] :delivery_stream_encryption_configuration_input
1403
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS key
1404
+ # needed for Server-Side Encryption (SSE).
1405
+ #
1332
1406
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1333
1407
  #
1334
1408
  # @example Request syntax with placeholder values
1335
1409
  #
1336
1410
  # resp = client.start_delivery_stream_encryption({
1337
1411
  # delivery_stream_name: "DeliveryStreamName", # required
1412
+ # delivery_stream_encryption_configuration_input: {
1413
+ # key_arn: "AWSKMSKeyARN",
1414
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
1415
+ # },
1338
1416
  # })
1339
1417
  #
1340
1418
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryption AWS API Documentation
@@ -1349,19 +1427,24 @@ module Aws::Firehose
1349
1427
  # Disables server-side encryption (SSE) for the delivery stream.
1350
1428
  #
1351
1429
  # This operation is asynchronous. It returns immediately. When you
1352
- # invoke it, Kinesis Data Firehose first sets the status of the stream
1353
- # to `DISABLING`, and then to `DISABLED`. You can continue to read and
1354
- # write data to your stream while its status is `DISABLING`. It can take
1355
- # up to 5 seconds after the encryption status changes to `DISABLED`
1356
- # before all records written to the delivery stream are no longer
1357
- # subject to encryption. To find out whether a record or a batch of
1358
- # records was encrypted, check the response elements
1430
+ # invoke it, Kinesis Data Firehose first sets the encryption status of
1431
+ # the stream to `DISABLING`, and then to `DISABLED`. You can continue to
1432
+ # read and write data to your stream while its status is `DISABLING`. It
1433
+ # can take up to 5 seconds after the encryption status changes to
1434
+ # `DISABLED` before all records written to the delivery stream are no
1435
+ # longer subject to encryption. To find out whether a record or a batch
1436
+ # of records was encrypted, check the response elements
1359
1437
  # PutRecordOutput$Encrypted and PutRecordBatchOutput$Encrypted,
1360
1438
  # respectively.
1361
1439
  #
1362
1440
  # To check the encryption state of a delivery stream, use
1363
1441
  # DescribeDeliveryStream.
1364
1442
  #
1443
+ # If SSE is enabled using a customer managed CMK and then you invoke
1444
+ # `StopDeliveryStreamEncryption`, Kinesis Data Firehose schedules the
1445
+ # related KMS grant for retirement and then retires it after it ensures
1446
+ # that it is finished delivering records to the destination.
1447
+ #
1365
1448
  # The `StartDeliveryStreamEncryption` and `StopDeliveryStreamEncryption`
1366
1449
  # operations have a combined limit of 25 calls per delivery stream per
1367
1450
  # 24 hours. For example, you reach the limit if you call
@@ -1884,7 +1967,7 @@ module Aws::Firehose
1884
1967
  params: params,
1885
1968
  config: config)
1886
1969
  context[:gem_name] = 'aws-sdk-firehose'
1887
- context[:gem_version] = '1.23.0'
1970
+ context[:gem_version] = '1.24.0'
1888
1971
  Seahorse::Client::Request.new(handlers, context)
1889
1972
  end
1890
1973
 
@@ -35,7 +35,9 @@ module Aws::Firehose
35
35
  DeliveryStreamARN = Shapes::StringShape.new(name: 'DeliveryStreamARN')
36
36
  DeliveryStreamDescription = Shapes::StructureShape.new(name: 'DeliveryStreamDescription')
37
37
  DeliveryStreamEncryptionConfiguration = Shapes::StructureShape.new(name: 'DeliveryStreamEncryptionConfiguration')
38
+ DeliveryStreamEncryptionConfigurationInput = Shapes::StructureShape.new(name: 'DeliveryStreamEncryptionConfigurationInput')
38
39
  DeliveryStreamEncryptionStatus = Shapes::StringShape.new(name: 'DeliveryStreamEncryptionStatus')
40
+ DeliveryStreamFailureType = Shapes::StringShape.new(name: 'DeliveryStreamFailureType')
39
41
  DeliveryStreamName = Shapes::StringShape.new(name: 'DeliveryStreamName')
40
42
  DeliveryStreamNameList = Shapes::ListShape.new(name: 'DeliveryStreamNameList')
41
43
  DeliveryStreamStatus = Shapes::StringShape.new(name: 'DeliveryStreamStatus')
@@ -69,6 +71,7 @@ module Aws::Firehose
69
71
  ExtendedS3DestinationConfiguration = Shapes::StructureShape.new(name: 'ExtendedS3DestinationConfiguration')
70
72
  ExtendedS3DestinationDescription = Shapes::StructureShape.new(name: 'ExtendedS3DestinationDescription')
71
73
  ExtendedS3DestinationUpdate = Shapes::StructureShape.new(name: 'ExtendedS3DestinationUpdate')
74
+ FailureDescription = Shapes::StructureShape.new(name: 'FailureDescription')
72
75
  HECAcknowledgmentTimeoutInSeconds = Shapes::IntegerShape.new(name: 'HECAcknowledgmentTimeoutInSeconds')
73
76
  HECEndpoint = Shapes::StringShape.new(name: 'HECEndpoint')
74
77
  HECEndpointType = Shapes::StringShape.new(name: 'HECEndpointType')
@@ -77,7 +80,9 @@ module Aws::Firehose
77
80
  InputFormatConfiguration = Shapes::StructureShape.new(name: 'InputFormatConfiguration')
78
81
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
79
82
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
83
+ InvalidKMSResourceException = Shapes::StructureShape.new(name: 'InvalidKMSResourceException')
80
84
  KMSEncryptionConfig = Shapes::StructureShape.new(name: 'KMSEncryptionConfig')
85
+ KeyType = Shapes::StringShape.new(name: 'KeyType')
81
86
  KinesisStreamARN = Shapes::StringShape.new(name: 'KinesisStreamARN')
82
87
  KinesisStreamSourceConfiguration = Shapes::StructureShape.new(name: 'KinesisStreamSourceConfiguration')
83
88
  KinesisStreamSourceDescription = Shapes::StructureShape.new(name: 'KinesisStreamSourceDescription')
@@ -193,6 +198,7 @@ module Aws::Firehose
193
198
  CreateDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
194
199
  CreateDeliveryStreamInput.add_member(:delivery_stream_type, Shapes::ShapeRef.new(shape: DeliveryStreamType, location_name: "DeliveryStreamType"))
195
200
  CreateDeliveryStreamInput.add_member(:kinesis_stream_source_configuration, Shapes::ShapeRef.new(shape: KinesisStreamSourceConfiguration, location_name: "KinesisStreamSourceConfiguration"))
201
+ CreateDeliveryStreamInput.add_member(:delivery_stream_encryption_configuration_input, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfigurationInput, location_name: "DeliveryStreamEncryptionConfigurationInput"))
196
202
  CreateDeliveryStreamInput.add_member(:s3_destination_configuration, Shapes::ShapeRef.new(shape: S3DestinationConfiguration, deprecated: true, location_name: "S3DestinationConfiguration"))
197
203
  CreateDeliveryStreamInput.add_member(:extended_s3_destination_configuration, Shapes::ShapeRef.new(shape: ExtendedS3DestinationConfiguration, location_name: "ExtendedS3DestinationConfiguration"))
198
204
  CreateDeliveryStreamInput.add_member(:redshift_destination_configuration, Shapes::ShapeRef.new(shape: RedshiftDestinationConfiguration, location_name: "RedshiftDestinationConfiguration"))
@@ -211,6 +217,7 @@ module Aws::Firehose
211
217
  DataFormatConversionConfiguration.struct_class = Types::DataFormatConversionConfiguration
212
218
 
213
219
  DeleteDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
220
+ DeleteDeliveryStreamInput.add_member(:allow_force_delete, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AllowForceDelete"))
214
221
  DeleteDeliveryStreamInput.struct_class = Types::DeleteDeliveryStreamInput
215
222
 
216
223
  DeleteDeliveryStreamOutput.struct_class = Types::DeleteDeliveryStreamOutput
@@ -218,6 +225,7 @@ module Aws::Firehose
218
225
  DeliveryStreamDescription.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
219
226
  DeliveryStreamDescription.add_member(:delivery_stream_arn, Shapes::ShapeRef.new(shape: DeliveryStreamARN, required: true, location_name: "DeliveryStreamARN"))
220
227
  DeliveryStreamDescription.add_member(:delivery_stream_status, Shapes::ShapeRef.new(shape: DeliveryStreamStatus, required: true, location_name: "DeliveryStreamStatus"))
228
+ DeliveryStreamDescription.add_member(:failure_description, Shapes::ShapeRef.new(shape: FailureDescription, location_name: "FailureDescription"))
221
229
  DeliveryStreamDescription.add_member(:delivery_stream_encryption_configuration, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfiguration, location_name: "DeliveryStreamEncryptionConfiguration"))
222
230
  DeliveryStreamDescription.add_member(:delivery_stream_type, Shapes::ShapeRef.new(shape: DeliveryStreamType, required: true, location_name: "DeliveryStreamType"))
223
231
  DeliveryStreamDescription.add_member(:version_id, Shapes::ShapeRef.new(shape: DeliveryStreamVersionId, required: true, location_name: "VersionId"))
@@ -228,9 +236,16 @@ module Aws::Firehose
228
236
  DeliveryStreamDescription.add_member(:has_more_destinations, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "HasMoreDestinations"))
229
237
  DeliveryStreamDescription.struct_class = Types::DeliveryStreamDescription
230
238
 
239
+ DeliveryStreamEncryptionConfiguration.add_member(:key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, location_name: "KeyARN"))
240
+ DeliveryStreamEncryptionConfiguration.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, location_name: "KeyType"))
231
241
  DeliveryStreamEncryptionConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionStatus, location_name: "Status"))
242
+ DeliveryStreamEncryptionConfiguration.add_member(:failure_description, Shapes::ShapeRef.new(shape: FailureDescription, location_name: "FailureDescription"))
232
243
  DeliveryStreamEncryptionConfiguration.struct_class = Types::DeliveryStreamEncryptionConfiguration
233
244
 
245
+ DeliveryStreamEncryptionConfigurationInput.add_member(:key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, location_name: "KeyARN"))
246
+ DeliveryStreamEncryptionConfigurationInput.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, required: true, location_name: "KeyType"))
247
+ DeliveryStreamEncryptionConfigurationInput.struct_class = Types::DeliveryStreamEncryptionConfigurationInput
248
+
234
249
  DeliveryStreamNameList.member = Shapes::ShapeRef.new(shape: DeliveryStreamName)
235
250
 
236
251
  DescribeDeliveryStreamInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
@@ -349,6 +364,10 @@ module Aws::Firehose
349
364
  ExtendedS3DestinationUpdate.add_member(:data_format_conversion_configuration, Shapes::ShapeRef.new(shape: DataFormatConversionConfiguration, location_name: "DataFormatConversionConfiguration"))
350
365
  ExtendedS3DestinationUpdate.struct_class = Types::ExtendedS3DestinationUpdate
351
366
 
367
+ FailureDescription.add_member(:type, Shapes::ShapeRef.new(shape: DeliveryStreamFailureType, required: true, location_name: "Type"))
368
+ FailureDescription.add_member(:details, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Details"))
369
+ FailureDescription.struct_class = Types::FailureDescription
370
+
352
371
  HiveJsonSerDe.add_member(:timestamp_formats, Shapes::ShapeRef.new(shape: ListOfNonEmptyStrings, location_name: "TimestampFormats"))
353
372
  HiveJsonSerDe.struct_class = Types::HiveJsonSerDe
354
373
 
@@ -358,6 +377,10 @@ module Aws::Firehose
358
377
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
359
378
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
360
379
 
380
+ InvalidKMSResourceException.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "code"))
381
+ InvalidKMSResourceException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
382
+ InvalidKMSResourceException.struct_class = Types::InvalidKMSResourceException
383
+
361
384
  KMSEncryptionConfig.add_member(:awskms_key_arn, Shapes::ShapeRef.new(shape: AWSKMSKeyARN, required: true, location_name: "AWSKMSKeyARN"))
362
385
  KMSEncryptionConfig.struct_class = Types::KMSEncryptionConfig
363
386
 
@@ -602,6 +625,7 @@ module Aws::Firehose
602
625
  SplunkRetryOptions.struct_class = Types::SplunkRetryOptions
603
626
 
604
627
  StartDeliveryStreamEncryptionInput.add_member(:delivery_stream_name, Shapes::ShapeRef.new(shape: DeliveryStreamName, required: true, location_name: "DeliveryStreamName"))
628
+ StartDeliveryStreamEncryptionInput.add_member(:delivery_stream_encryption_configuration_input, Shapes::ShapeRef.new(shape: DeliveryStreamEncryptionConfigurationInput, location_name: "DeliveryStreamEncryptionConfigurationInput"))
605
629
  StartDeliveryStreamEncryptionInput.struct_class = Types::StartDeliveryStreamEncryptionInput
606
630
 
607
631
  StartDeliveryStreamEncryptionOutput.struct_class = Types::StartDeliveryStreamEncryptionOutput
@@ -671,6 +695,7 @@ module Aws::Firehose
671
695
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
672
696
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
673
697
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
698
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
674
699
  end)
675
700
 
676
701
  api.add_operation(:delete_delivery_stream, Seahorse::Model::Operation.new.tap do |o|
@@ -719,6 +744,7 @@ module Aws::Firehose
719
744
  o.output = Shapes::ShapeRef.new(shape: PutRecordOutput)
720
745
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
721
746
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
747
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
722
748
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
723
749
  end)
724
750
 
@@ -730,6 +756,7 @@ module Aws::Firehose
730
756
  o.output = Shapes::ShapeRef.new(shape: PutRecordBatchOutput)
731
757
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
732
758
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
759
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
733
760
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
734
761
  end)
735
762
 
@@ -743,6 +770,7 @@ module Aws::Firehose
743
770
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
744
771
  o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
745
772
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
773
+ o.errors << Shapes::ShapeRef.new(shape: InvalidKMSResourceException)
746
774
  end)
747
775
 
748
776
  api.add_operation(:stop_delivery_stream_encryption, Seahorse::Model::Operation.new.tap do |o|
@@ -42,6 +42,27 @@ module Aws::Firehose
42
42
 
43
43
  end
44
44
 
45
+ class InvalidKMSResourceException < ServiceError
46
+
47
+ # @param [Seahorse::Client::RequestContext] context
48
+ # @param [String] message
49
+ # @param [Aws::Firehose::Types::InvalidKMSResourceException] data
50
+ def initialize(context, message, data = Aws::EmptyStructure.new)
51
+ super(context, message, data)
52
+ end
53
+
54
+ # @return [String]
55
+ def code
56
+ @code || @data[:code]
57
+ end
58
+
59
+ # @return [String]
60
+ def message
61
+ @message || @data[:message]
62
+ end
63
+
64
+ end
65
+
45
66
  class LimitExceededException < ServiceError
46
67
 
47
68
  # @param [Seahorse::Client::RequestContext] context
@@ -168,6 +168,10 @@ module Aws::Firehose
168
168
  # kinesis_stream_arn: "KinesisStreamARN", # required
169
169
  # role_arn: "RoleARN", # required
170
170
  # },
171
+ # delivery_stream_encryption_configuration_input: {
172
+ # key_arn: "AWSKMSKeyARN",
173
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
174
+ # },
171
175
  # s3_destination_configuration: {
172
176
  # role_arn: "RoleARN", # required
173
177
  # bucket_arn: "BucketARN", # required
@@ -517,6 +521,11 @@ module Aws::Firehose
517
521
  # source stream.
518
522
  # @return [Types::KinesisStreamSourceConfiguration]
519
523
  #
524
+ # @!attribute [rw] delivery_stream_encryption_configuration_input
525
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS
526
+ # key needed for Server-Side Encryption (SSE).
527
+ # @return [Types::DeliveryStreamEncryptionConfigurationInput]
528
+ #
520
529
  # @!attribute [rw] s3_destination_configuration
521
530
  # \[Deprecated\] The destination in Amazon S3. You can specify only
522
531
  # one destination.
@@ -561,6 +570,7 @@ module Aws::Firehose
561
570
  :delivery_stream_name,
562
571
  :delivery_stream_type,
563
572
  :kinesis_stream_source_configuration,
573
+ :delivery_stream_encryption_configuration_input,
564
574
  :s3_destination_configuration,
565
575
  :extended_s3_destination_configuration,
566
576
  :redshift_destination_configuration,
@@ -681,16 +691,35 @@ module Aws::Firehose
681
691
  #
682
692
  # {
683
693
  # delivery_stream_name: "DeliveryStreamName", # required
694
+ # allow_force_delete: false,
684
695
  # }
685
696
  #
686
697
  # @!attribute [rw] delivery_stream_name
687
698
  # The name of the delivery stream.
688
699
  # @return [String]
689
700
  #
701
+ # @!attribute [rw] allow_force_delete
702
+ # Set this to true if you want to delete the delivery stream even if
703
+ # Kinesis Data Firehose is unable to retire the grant for the CMK.
704
+ # Kinesis Data Firehose might be unable to retire the grant due to a
705
+ # customer error, such as when the CMK or the grant are in an invalid
706
+ # state. If you force deletion, you can then use the [RevokeGrant][1]
707
+ # operation to revoke the grant you gave to Kinesis Data Firehose. If
708
+ # a failure to retire the grant happens due to an AWS KMS issue,
709
+ # Kinesis Data Firehose keeps retrying the delete operation.
710
+ #
711
+ # The default value is false.
712
+ #
713
+ #
714
+ #
715
+ # [1]: https://docs.aws.amazon.com/kms/latest/APIReference/API_RevokeGrant.html
716
+ # @return [Boolean]
717
+ #
690
718
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeleteDeliveryStreamInput AWS API Documentation
691
719
  #
692
720
  class DeleteDeliveryStreamInput < Struct.new(
693
- :delivery_stream_name)
721
+ :delivery_stream_name,
722
+ :allow_force_delete)
694
723
  include Aws::Structure
695
724
  end
696
725
 
@@ -715,9 +744,19 @@ module Aws::Firehose
715
744
  # @return [String]
716
745
  #
717
746
  # @!attribute [rw] delivery_stream_status
718
- # The status of the delivery stream.
747
+ # The status of the delivery stream. If the status of a delivery
748
+ # stream is `CREATING_FAILED`, this status doesn't change, and you
749
+ # can't invoke `CreateDeliveryStream` again on it. However, you can
750
+ # invoke the DeleteDeliveryStream operation to delete it.
719
751
  # @return [String]
720
752
  #
753
+ # @!attribute [rw] failure_description
754
+ # Provides details in case one of the following operations fails due
755
+ # to an error related to KMS: CreateDeliveryStream,
756
+ # DeleteDeliveryStream, StartDeliveryStreamEncryption,
757
+ # StopDeliveryStreamEncryption.
758
+ # @return [Types::FailureDescription]
759
+ #
721
760
  # @!attribute [rw] delivery_stream_encryption_configuration
722
761
  # Indicates the server-side encryption (SSE) status for the delivery
723
762
  # stream.
@@ -767,6 +806,7 @@ module Aws::Firehose
767
806
  :delivery_stream_name,
768
807
  :delivery_stream_arn,
769
808
  :delivery_stream_status,
809
+ :failure_description,
770
810
  :delivery_stream_encryption_configuration,
771
811
  :delivery_stream_type,
772
812
  :version_id,
@@ -778,18 +818,99 @@ module Aws::Firehose
778
818
  include Aws::Structure
779
819
  end
780
820
 
781
- # Indicates the server-side encryption (SSE) status for the delivery
782
- # stream.
821
+ # Contains information about the server-side encryption (SSE) status for
822
+ # the delivery stream, the type customer master key (CMK) in use, if
823
+ # any, and the ARN of the CMK. You can get
824
+ # `DeliveryStreamEncryptionConfiguration` by invoking the
825
+ # DescribeDeliveryStream operation.
826
+ #
827
+ # @!attribute [rw] key_arn
828
+ # If `KeyType` is `CUSTOMER_MANAGED_CMK`, this field contains the ARN
829
+ # of the customer managed CMK. If `KeyType` is `AWS_OWNED_CMK`,
830
+ # `DeliveryStreamEncryptionConfiguration` doesn't contain a value for
831
+ # `KeyARN`.
832
+ # @return [String]
833
+ #
834
+ # @!attribute [rw] key_type
835
+ # Indicates the type of customer master key (CMK) that is used for
836
+ # encryption. The default setting is `AWS_OWNED_CMK`. For more
837
+ # information about CMKs, see [Customer Master Keys (CMKs)][1].
838
+ #
839
+ #
840
+ #
841
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
842
+ # @return [String]
783
843
  #
784
844
  # @!attribute [rw] status
785
- # For a full description of the different values of this status, see
786
- # StartDeliveryStreamEncryption and StopDeliveryStreamEncryption.
845
+ # This is the server-side encryption (SSE) status for the delivery
846
+ # stream. For a full description of the different values of this
847
+ # status, see StartDeliveryStreamEncryption and
848
+ # StopDeliveryStreamEncryption. If this status is `ENABLING_FAILED` or
849
+ # `DISABLING_FAILED`, it is the status of the most recent attempt to
850
+ # enable or disable SSE, respectively.
787
851
  # @return [String]
788
852
  #
853
+ # @!attribute [rw] failure_description
854
+ # Provides details in case one of the following operations fails due
855
+ # to an error related to KMS: CreateDeliveryStream,
856
+ # DeleteDeliveryStream, StartDeliveryStreamEncryption,
857
+ # StopDeliveryStreamEncryption.
858
+ # @return [Types::FailureDescription]
859
+ #
789
860
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeliveryStreamEncryptionConfiguration AWS API Documentation
790
861
  #
791
862
  class DeliveryStreamEncryptionConfiguration < Struct.new(
792
- :status)
863
+ :key_arn,
864
+ :key_type,
865
+ :status,
866
+ :failure_description)
867
+ include Aws::Structure
868
+ end
869
+
870
+ # Used to specify the type and Amazon Resource Name (ARN) of the CMK
871
+ # needed for Server-Side Encryption (SSE).
872
+ #
873
+ # @note When making an API call, you may pass DeliveryStreamEncryptionConfigurationInput
874
+ # data as a hash:
875
+ #
876
+ # {
877
+ # key_arn: "AWSKMSKeyARN",
878
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
879
+ # }
880
+ #
881
+ # @!attribute [rw] key_arn
882
+ # If you set `KeyType` to `CUSTOMER_MANAGED_CMK`, you must specify the
883
+ # Amazon Resource Name (ARN) of the CMK. If you set `KeyType` to
884
+ # `AWS_OWNED_CMK`, Kinesis Data Firehose uses a service-account CMK.
885
+ # @return [String]
886
+ #
887
+ # @!attribute [rw] key_type
888
+ # Indicates the type of customer master key (CMK) to use for
889
+ # encryption. The default setting is `AWS_OWNED_CMK`. For more
890
+ # information about CMKs, see [Customer Master Keys (CMKs)][1]. When
891
+ # you invoke CreateDeliveryStream or StartDeliveryStreamEncryption
892
+ # with `KeyType` set to CUSTOMER\_MANAGED\_CMK, Kinesis Data Firehose
893
+ # invokes the Amazon KMS operation [CreateGrant][2] to create a grant
894
+ # that allows the Kinesis Data Firehose service to use the customer
895
+ # managed CMK to perform encryption and decryption. Kinesis Data
896
+ # Firehose manages that grant.
897
+ #
898
+ # When you invoke StartDeliveryStreamEncryption to change the CMK for
899
+ # a delivery stream that is already encrypted with a customer managed
900
+ # CMK, Kinesis Data Firehose schedules the grant it had on the old CMK
901
+ # for retirement.
902
+ #
903
+ #
904
+ #
905
+ # [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys
906
+ # [2]: https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html
907
+ # @return [String]
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/DeliveryStreamEncryptionConfigurationInput AWS API Documentation
910
+ #
911
+ class DeliveryStreamEncryptionConfigurationInput < Struct.new(
912
+ :key_arn,
913
+ :key_type)
793
914
  include Aws::Structure
794
915
  end
795
916
 
@@ -1953,6 +2074,26 @@ module Aws::Firehose
1953
2074
  include Aws::Structure
1954
2075
  end
1955
2076
 
2077
+ # Provides details in case one of the following operations fails due to
2078
+ # an error related to KMS: CreateDeliveryStream, DeleteDeliveryStream,
2079
+ # StartDeliveryStreamEncryption, StopDeliveryStreamEncryption.
2080
+ #
2081
+ # @!attribute [rw] type
2082
+ # The type of error that caused the failure.
2083
+ # @return [String]
2084
+ #
2085
+ # @!attribute [rw] details
2086
+ # A message providing details about the error that caused the failure.
2087
+ # @return [String]
2088
+ #
2089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/FailureDescription AWS API Documentation
2090
+ #
2091
+ class FailureDescription < Struct.new(
2092
+ :type,
2093
+ :details)
2094
+ include Aws::Structure
2095
+ end
2096
+
1956
2097
  # The native Hive / HCatalog JsonSerDe. Used by Kinesis Data Firehose
1957
2098
  # for deserializing data, which means converting it from the JSON format
1958
2099
  # in preparation for serializing it to the Parquet or ORC format. This
@@ -2036,6 +2177,26 @@ module Aws::Firehose
2036
2177
  include Aws::Structure
2037
2178
  end
2038
2179
 
2180
+ # Kinesis Data Firehose throws this exception when an attempt to put
2181
+ # records or to start or stop delivery stream encryption fails. This
2182
+ # happens when the KMS service throws one of the following exception
2183
+ # types: `AccessDeniedException`, `InvalidStateException`,
2184
+ # `DisabledException`, or `NotFoundException`.
2185
+ #
2186
+ # @!attribute [rw] code
2187
+ # @return [String]
2188
+ #
2189
+ # @!attribute [rw] message
2190
+ # @return [String]
2191
+ #
2192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/InvalidKMSResourceException AWS API Documentation
2193
+ #
2194
+ class InvalidKMSResourceException < Struct.new(
2195
+ :code,
2196
+ :message)
2197
+ include Aws::Structure
2198
+ end
2199
+
2039
2200
  # Describes an encryption key for a destination in Amazon S3.
2040
2201
  #
2041
2202
  # @note When making an API call, you may pass KMSEncryptionConfig
@@ -2504,7 +2665,7 @@ module Aws::Firehose
2504
2665
  # The compression code to use over data blocks. The possible values
2505
2666
  # are `UNCOMPRESSED`, `SNAPPY`, and `GZIP`, with the default being
2506
2667
  # `SNAPPY`. Use `SNAPPY` for higher decompression speed. Use `GZIP` if
2507
- # the compression ration is more important than speed.
2668
+ # the compression ratio is more important than speed.
2508
2669
  # @return [String]
2509
2670
  #
2510
2671
  # @!attribute [rw] enable_dictionary_compression
@@ -3989,6 +4150,10 @@ module Aws::Firehose
3989
4150
  #
3990
4151
  # {
3991
4152
  # delivery_stream_name: "DeliveryStreamName", # required
4153
+ # delivery_stream_encryption_configuration_input: {
4154
+ # key_arn: "AWSKMSKeyARN",
4155
+ # key_type: "AWS_OWNED_CMK", # required, accepts AWS_OWNED_CMK, CUSTOMER_MANAGED_CMK
4156
+ # },
3992
4157
  # }
3993
4158
  #
3994
4159
  # @!attribute [rw] delivery_stream_name
@@ -3996,10 +4161,16 @@ module Aws::Firehose
3996
4161
  # server-side encryption (SSE).
3997
4162
  # @return [String]
3998
4163
  #
4164
+ # @!attribute [rw] delivery_stream_encryption_configuration_input
4165
+ # Used to specify the type and Amazon Resource Name (ARN) of the KMS
4166
+ # key needed for Server-Side Encryption (SSE).
4167
+ # @return [Types::DeliveryStreamEncryptionConfigurationInput]
4168
+ #
3999
4169
  # @see http://docs.aws.amazon.com/goto/WebAPI/firehose-2015-08-04/StartDeliveryStreamEncryptionInput AWS API Documentation
4000
4170
  #
4001
4171
  class StartDeliveryStreamEncryptionInput < Struct.new(
4002
- :delivery_stream_name)
4172
+ :delivery_stream_name,
4173
+ :delivery_stream_encryption_configuration_input)
4003
4174
  include Aws::Structure
4004
4175
  end
4005
4176
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-firehose
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.0
4
+ version: 1.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2019-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core