aws-sdk-dynamodb 1.75.0 → 1.76.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
  SHA256:
3
- metadata.gz: 79a8f7d90716096cc816bcaa1c94e20d4b25a45d9ef563d9ec4be2853733072b
4
- data.tar.gz: ccdfc32c84f0a02de79fe8ebebc2ed58310eea7712679ea1215a26fc97e73537
3
+ metadata.gz: 38e9a6c4390046dd80d332b38be8078908a2b7a60249805aabc34ed489c9edd1
4
+ data.tar.gz: f1b07247a61dc67564a2d37779247a438025d9a242d00b08eb4aa0c4a229a911
5
5
  SHA512:
6
- metadata.gz: '08b4a399dd2811b5d8fcdc54b56276e84c66fc4d73bd4ba8a8f48169a4cea37378c80cbda6920973600805280c198fedc9e96128c091c0dddfbe1c4bbbdfdc7a'
7
- data.tar.gz: 0661d453507bb416a6f1adfbc374d29cbb47e0950d933cb5a792f9809754eee5d50a8e71b708b6b5be02d6be0953f11e66bc8b005f29c282f519d70ad16a3454
6
+ metadata.gz: e8dd2c846e884e49051e21144be2f432f6fbc81d33a98bf7eea5ce3150ca1e40018e7318f56778648c33212ac54b748808bb0c6e6d938016d0444e4d8ad8e2f8
7
+ data.tar.gz: a032cbaad4f8ac8d1994220c48d82ff81c918f567cb3aca4bd86b8e9db7f728a1442c4188fd44ef024698700fdf2bae66b90003d388b027ef6e6f317c63dbcbb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.76.0 (2022-08-18)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for importing data from S3 into a new DynamoDB table
8
+
4
9
  1.75.0 (2022-06-17)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.75.0
1
+ 1.76.0
@@ -2527,6 +2527,79 @@ module Aws::DynamoDB
2527
2527
  req.send_request(options)
2528
2528
  end
2529
2529
 
2530
+ # Represents the properties of the import.
2531
+ #
2532
+ # @option params [required, String] :import_arn
2533
+ # The Amazon Resource Name (ARN) associated with the table you're
2534
+ # importing to.
2535
+ #
2536
+ # @return [Types::DescribeImportOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2537
+ #
2538
+ # * {Types::DescribeImportOutput#import_table_description #import_table_description} => Types::ImportTableDescription
2539
+ #
2540
+ # @example Request syntax with placeholder values
2541
+ #
2542
+ # resp = client.describe_import({
2543
+ # import_arn: "ImportArn", # required
2544
+ # })
2545
+ #
2546
+ # @example Response structure
2547
+ #
2548
+ # resp.import_table_description.import_arn #=> String
2549
+ # resp.import_table_description.import_status #=> String, one of "IN_PROGRESS", "COMPLETED", "CANCELLING", "CANCELLED", "FAILED"
2550
+ # resp.import_table_description.table_arn #=> String
2551
+ # resp.import_table_description.table_id #=> String
2552
+ # resp.import_table_description.client_token #=> String
2553
+ # resp.import_table_description.s3_bucket_source.s3_bucket_owner #=> String
2554
+ # resp.import_table_description.s3_bucket_source.s3_bucket #=> String
2555
+ # resp.import_table_description.s3_bucket_source.s3_key_prefix #=> String
2556
+ # resp.import_table_description.error_count #=> Integer
2557
+ # resp.import_table_description.cloud_watch_log_group_arn #=> String
2558
+ # resp.import_table_description.input_format #=> String, one of "DYNAMODB_JSON", "ION", "CSV"
2559
+ # resp.import_table_description.input_format_options.csv.delimiter #=> String
2560
+ # resp.import_table_description.input_format_options.csv.header_list #=> Array
2561
+ # resp.import_table_description.input_format_options.csv.header_list[0] #=> String
2562
+ # resp.import_table_description.input_compression_type #=> String, one of "GZIP", "ZSTD", "NONE"
2563
+ # resp.import_table_description.table_creation_parameters.table_name #=> String
2564
+ # resp.import_table_description.table_creation_parameters.attribute_definitions #=> Array
2565
+ # resp.import_table_description.table_creation_parameters.attribute_definitions[0].attribute_name #=> String
2566
+ # resp.import_table_description.table_creation_parameters.attribute_definitions[0].attribute_type #=> String, one of "S", "N", "B"
2567
+ # resp.import_table_description.table_creation_parameters.key_schema #=> Array
2568
+ # resp.import_table_description.table_creation_parameters.key_schema[0].attribute_name #=> String
2569
+ # resp.import_table_description.table_creation_parameters.key_schema[0].key_type #=> String, one of "HASH", "RANGE"
2570
+ # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
2571
+ # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
2572
+ # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
2573
+ # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
2574
+ # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
2575
+ # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
2576
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes #=> Array
2577
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].index_name #=> String
2578
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema #=> Array
2579
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema[0].attribute_name #=> String
2580
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema[0].key_type #=> String, one of "HASH", "RANGE"
2581
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
2582
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes #=> Array
2583
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
2584
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
2585
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
2586
+ # resp.import_table_description.start_time #=> Time
2587
+ # resp.import_table_description.end_time #=> Time
2588
+ # resp.import_table_description.processed_size_bytes #=> Integer
2589
+ # resp.import_table_description.processed_item_count #=> Integer
2590
+ # resp.import_table_description.imported_item_count #=> Integer
2591
+ # resp.import_table_description.failure_code #=> String
2592
+ # resp.import_table_description.failure_message #=> String
2593
+ #
2594
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/DescribeImport AWS API Documentation
2595
+ #
2596
+ # @overload describe_import(params = {})
2597
+ # @param [Hash] params ({})
2598
+ def describe_import(params = {}, options = {})
2599
+ req = build_request(:describe_import, params)
2600
+ req.send_request(options)
2601
+ end
2602
+
2530
2603
  # Returns information about the status of Kinesis streaming.
2531
2604
  #
2532
2605
  # @option params [required, String] :table_name
@@ -3251,7 +3324,7 @@ module Aws::DynamoDB
3251
3324
  #
3252
3325
  # If you submit a request with the same client token but a change in
3253
3326
  # other parameters within the 8-hour idempotency window, DynamoDB
3254
- # returns an `IdempotentParameterMismatch` exception.
3327
+ # returns an `ImportConflictException`.
3255
3328
  #
3256
3329
  # **A suitable default value is auto-generated.** You should normally
3257
3330
  # not need to pass this option.**
@@ -3527,6 +3600,167 @@ module Aws::DynamoDB
3527
3600
  req.send_request(options)
3528
3601
  end
3529
3602
 
3603
+ # Imports table data from an S3 bucket.
3604
+ #
3605
+ # @option params [String] :client_token
3606
+ # Providing a `ClientToken` makes the call to `ImportTableInput`
3607
+ # idempotent, meaning that multiple identical calls have the same effect
3608
+ # as one single call.
3609
+ #
3610
+ # A client token is valid for 8 hours after the first request that uses
3611
+ # it is completed. After 8 hours, any request with the same client token
3612
+ # is treated as a new request. Do not resubmit the same request with the
3613
+ # same client token for more than 8 hours, or the result might not be
3614
+ # idempotent.
3615
+ #
3616
+ # If you submit a request with the same client token but a change in
3617
+ # other parameters within the 8-hour idempotency window, DynamoDB
3618
+ # returns an `IdempotentParameterMismatch` exception.
3619
+ #
3620
+ # **A suitable default value is auto-generated.** You should normally
3621
+ # not need to pass this option.**
3622
+ #
3623
+ # @option params [required, Types::S3BucketSource] :s3_bucket_source
3624
+ # The S3 bucket that provides the source for the import.
3625
+ #
3626
+ # @option params [required, String] :input_format
3627
+ # The format of the source data. Valid values for `ImportFormat` are
3628
+ # `CSV`, `DYNAMODB_JSON` or `ION`.
3629
+ #
3630
+ # @option params [Types::InputFormatOptions] :input_format_options
3631
+ # Additional properties that specify how the input is formatted,
3632
+ #
3633
+ # @option params [String] :input_compression_type
3634
+ # Type of compression to be used on the input coming from the imported
3635
+ # table.
3636
+ #
3637
+ # @option params [required, Types::TableCreationParameters] :table_creation_parameters
3638
+ # Parameters for the table to import the data into.
3639
+ #
3640
+ # @return [Types::ImportTableOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3641
+ #
3642
+ # * {Types::ImportTableOutput#import_table_description #import_table_description} => Types::ImportTableDescription
3643
+ #
3644
+ # @example Request syntax with placeholder values
3645
+ #
3646
+ # resp = client.import_table({
3647
+ # client_token: "ClientToken",
3648
+ # s3_bucket_source: { # required
3649
+ # s3_bucket_owner: "S3BucketOwner",
3650
+ # s3_bucket: "S3Bucket", # required
3651
+ # s3_key_prefix: "S3Prefix",
3652
+ # },
3653
+ # input_format: "DYNAMODB_JSON", # required, accepts DYNAMODB_JSON, ION, CSV
3654
+ # input_format_options: {
3655
+ # csv: {
3656
+ # delimiter: "CsvDelimiter",
3657
+ # header_list: ["CsvHeader"],
3658
+ # },
3659
+ # },
3660
+ # input_compression_type: "GZIP", # accepts GZIP, ZSTD, NONE
3661
+ # table_creation_parameters: { # required
3662
+ # table_name: "TableName", # required
3663
+ # attribute_definitions: [ # required
3664
+ # {
3665
+ # attribute_name: "KeySchemaAttributeName", # required
3666
+ # attribute_type: "S", # required, accepts S, N, B
3667
+ # },
3668
+ # ],
3669
+ # key_schema: [ # required
3670
+ # {
3671
+ # attribute_name: "KeySchemaAttributeName", # required
3672
+ # key_type: "HASH", # required, accepts HASH, RANGE
3673
+ # },
3674
+ # ],
3675
+ # billing_mode: "PROVISIONED", # accepts PROVISIONED, PAY_PER_REQUEST
3676
+ # provisioned_throughput: {
3677
+ # read_capacity_units: 1, # required
3678
+ # write_capacity_units: 1, # required
3679
+ # },
3680
+ # sse_specification: {
3681
+ # enabled: false,
3682
+ # sse_type: "AES256", # accepts AES256, KMS
3683
+ # kms_master_key_id: "KMSMasterKeyId",
3684
+ # },
3685
+ # global_secondary_indexes: [
3686
+ # {
3687
+ # index_name: "IndexName", # required
3688
+ # key_schema: [ # required
3689
+ # {
3690
+ # attribute_name: "KeySchemaAttributeName", # required
3691
+ # key_type: "HASH", # required, accepts HASH, RANGE
3692
+ # },
3693
+ # ],
3694
+ # projection: { # required
3695
+ # projection_type: "ALL", # accepts ALL, KEYS_ONLY, INCLUDE
3696
+ # non_key_attributes: ["NonKeyAttributeName"],
3697
+ # },
3698
+ # provisioned_throughput: {
3699
+ # read_capacity_units: 1, # required
3700
+ # write_capacity_units: 1, # required
3701
+ # },
3702
+ # },
3703
+ # ],
3704
+ # },
3705
+ # })
3706
+ #
3707
+ # @example Response structure
3708
+ #
3709
+ # resp.import_table_description.import_arn #=> String
3710
+ # resp.import_table_description.import_status #=> String, one of "IN_PROGRESS", "COMPLETED", "CANCELLING", "CANCELLED", "FAILED"
3711
+ # resp.import_table_description.table_arn #=> String
3712
+ # resp.import_table_description.table_id #=> String
3713
+ # resp.import_table_description.client_token #=> String
3714
+ # resp.import_table_description.s3_bucket_source.s3_bucket_owner #=> String
3715
+ # resp.import_table_description.s3_bucket_source.s3_bucket #=> String
3716
+ # resp.import_table_description.s3_bucket_source.s3_key_prefix #=> String
3717
+ # resp.import_table_description.error_count #=> Integer
3718
+ # resp.import_table_description.cloud_watch_log_group_arn #=> String
3719
+ # resp.import_table_description.input_format #=> String, one of "DYNAMODB_JSON", "ION", "CSV"
3720
+ # resp.import_table_description.input_format_options.csv.delimiter #=> String
3721
+ # resp.import_table_description.input_format_options.csv.header_list #=> Array
3722
+ # resp.import_table_description.input_format_options.csv.header_list[0] #=> String
3723
+ # resp.import_table_description.input_compression_type #=> String, one of "GZIP", "ZSTD", "NONE"
3724
+ # resp.import_table_description.table_creation_parameters.table_name #=> String
3725
+ # resp.import_table_description.table_creation_parameters.attribute_definitions #=> Array
3726
+ # resp.import_table_description.table_creation_parameters.attribute_definitions[0].attribute_name #=> String
3727
+ # resp.import_table_description.table_creation_parameters.attribute_definitions[0].attribute_type #=> String, one of "S", "N", "B"
3728
+ # resp.import_table_description.table_creation_parameters.key_schema #=> Array
3729
+ # resp.import_table_description.table_creation_parameters.key_schema[0].attribute_name #=> String
3730
+ # resp.import_table_description.table_creation_parameters.key_schema[0].key_type #=> String, one of "HASH", "RANGE"
3731
+ # resp.import_table_description.table_creation_parameters.billing_mode #=> String, one of "PROVISIONED", "PAY_PER_REQUEST"
3732
+ # resp.import_table_description.table_creation_parameters.provisioned_throughput.read_capacity_units #=> Integer
3733
+ # resp.import_table_description.table_creation_parameters.provisioned_throughput.write_capacity_units #=> Integer
3734
+ # resp.import_table_description.table_creation_parameters.sse_specification.enabled #=> Boolean
3735
+ # resp.import_table_description.table_creation_parameters.sse_specification.sse_type #=> String, one of "AES256", "KMS"
3736
+ # resp.import_table_description.table_creation_parameters.sse_specification.kms_master_key_id #=> String
3737
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes #=> Array
3738
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].index_name #=> String
3739
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema #=> Array
3740
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema[0].attribute_name #=> String
3741
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].key_schema[0].key_type #=> String, one of "HASH", "RANGE"
3742
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.projection_type #=> String, one of "ALL", "KEYS_ONLY", "INCLUDE"
3743
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes #=> Array
3744
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].projection.non_key_attributes[0] #=> String
3745
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.read_capacity_units #=> Integer
3746
+ # resp.import_table_description.table_creation_parameters.global_secondary_indexes[0].provisioned_throughput.write_capacity_units #=> Integer
3747
+ # resp.import_table_description.start_time #=> Time
3748
+ # resp.import_table_description.end_time #=> Time
3749
+ # resp.import_table_description.processed_size_bytes #=> Integer
3750
+ # resp.import_table_description.processed_item_count #=> Integer
3751
+ # resp.import_table_description.imported_item_count #=> Integer
3752
+ # resp.import_table_description.failure_code #=> String
3753
+ # resp.import_table_description.failure_message #=> String
3754
+ #
3755
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ImportTable AWS API Documentation
3756
+ #
3757
+ # @overload import_table(params = {})
3758
+ # @param [Hash] params ({})
3759
+ def import_table(params = {}, options = {})
3760
+ req = build_request(:import_table, params)
3761
+ req.send_request(options)
3762
+ end
3763
+
3530
3764
  # List backups associated with an Amazon Web Services account. To list
3531
3765
  # backups for a given table, specify `TableName`. `ListBackups` returns
3532
3766
  # a paginated list of results with at most 1 MB worth of items in a
@@ -3757,6 +3991,59 @@ module Aws::DynamoDB
3757
3991
  req.send_request(options)
3758
3992
  end
3759
3993
 
3994
+ # Lists completed imports within the past 90 days.
3995
+ #
3996
+ # @option params [String] :table_arn
3997
+ # The Amazon Resource Name (ARN) associated with the table that was
3998
+ # imported to.
3999
+ #
4000
+ # @option params [Integer] :page_size
4001
+ # The number of `ImportSummary `objects returned in a single page.
4002
+ #
4003
+ # @option params [String] :next_token
4004
+ # An optional string that, if supplied, must be copied from the output
4005
+ # of a previous call to `ListImports`. When provided in this manner, the
4006
+ # API fetches the next page of results.
4007
+ #
4008
+ # @return [Types::ListImportsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4009
+ #
4010
+ # * {Types::ListImportsOutput#import_summary_list #import_summary_list} => Array<Types::ImportSummary>
4011
+ # * {Types::ListImportsOutput#next_token #next_token} => String
4012
+ #
4013
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4014
+ #
4015
+ # @example Request syntax with placeholder values
4016
+ #
4017
+ # resp = client.list_imports({
4018
+ # table_arn: "TableArn",
4019
+ # page_size: 1,
4020
+ # next_token: "ImportNextToken",
4021
+ # })
4022
+ #
4023
+ # @example Response structure
4024
+ #
4025
+ # resp.import_summary_list #=> Array
4026
+ # resp.import_summary_list[0].import_arn #=> String
4027
+ # resp.import_summary_list[0].import_status #=> String, one of "IN_PROGRESS", "COMPLETED", "CANCELLING", "CANCELLED", "FAILED"
4028
+ # resp.import_summary_list[0].table_arn #=> String
4029
+ # resp.import_summary_list[0].s3_bucket_source.s3_bucket_owner #=> String
4030
+ # resp.import_summary_list[0].s3_bucket_source.s3_bucket #=> String
4031
+ # resp.import_summary_list[0].s3_bucket_source.s3_key_prefix #=> String
4032
+ # resp.import_summary_list[0].cloud_watch_log_group_arn #=> String
4033
+ # resp.import_summary_list[0].input_format #=> String, one of "DYNAMODB_JSON", "ION", "CSV"
4034
+ # resp.import_summary_list[0].start_time #=> Time
4035
+ # resp.import_summary_list[0].end_time #=> Time
4036
+ # resp.next_token #=> String
4037
+ #
4038
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dynamodb-2012-08-10/ListImports AWS API Documentation
4039
+ #
4040
+ # @overload list_imports(params = {})
4041
+ # @param [Hash] params ({})
4042
+ def list_imports(params = {}, options = {})
4043
+ req = build_request(:list_imports, params)
4044
+ req.send_request(options)
4045
+ end
4046
+
3760
4047
  # Returns an array of table names associated with the current account
3761
4048
  # and endpoint. The output from `ListTables` is paginated, with each
3762
4049
  # page returning a maximum of 100 table names.
@@ -7341,7 +7628,7 @@ module Aws::DynamoDB
7341
7628
  params: params,
7342
7629
  config: config)
7343
7630
  context[:gem_name] = 'aws-sdk-dynamodb'
7344
- context[:gem_version] = '1.75.0'
7631
+ context[:gem_version] = '1.76.0'
7345
7632
  Seahorse::Client::Request.new(handlers, context)
7346
7633
  end
7347
7634
 
@@ -74,6 +74,7 @@ module Aws::DynamoDB
74
74
  Capacity = Shapes::StructureShape.new(name: 'Capacity')
75
75
  ClientRequestToken = Shapes::StringShape.new(name: 'ClientRequestToken')
76
76
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
77
+ CloudWatchLogGroupArn = Shapes::StringShape.new(name: 'CloudWatchLogGroupArn')
77
78
  Code = Shapes::StringShape.new(name: 'Code')
78
79
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
79
80
  Condition = Shapes::StructureShape.new(name: 'Condition')
@@ -103,6 +104,10 @@ module Aws::DynamoDB
103
104
  CreateReplicationGroupMemberAction = Shapes::StructureShape.new(name: 'CreateReplicationGroupMemberAction')
104
105
  CreateTableInput = Shapes::StructureShape.new(name: 'CreateTableInput')
105
106
  CreateTableOutput = Shapes::StructureShape.new(name: 'CreateTableOutput')
107
+ CsvDelimiter = Shapes::StringShape.new(name: 'CsvDelimiter')
108
+ CsvHeader = Shapes::StringShape.new(name: 'CsvHeader')
109
+ CsvHeaderList = Shapes::ListShape.new(name: 'CsvHeaderList')
110
+ CsvOptions = Shapes::StructureShape.new(name: 'CsvOptions')
106
111
  Date = Shapes::TimestampShape.new(name: 'Date')
107
112
  Delete = Shapes::StructureShape.new(name: 'Delete')
108
113
  DeleteBackupInput = Shapes::StructureShape.new(name: 'DeleteBackupInput')
@@ -129,6 +134,8 @@ module Aws::DynamoDB
129
134
  DescribeGlobalTableOutput = Shapes::StructureShape.new(name: 'DescribeGlobalTableOutput')
130
135
  DescribeGlobalTableSettingsInput = Shapes::StructureShape.new(name: 'DescribeGlobalTableSettingsInput')
131
136
  DescribeGlobalTableSettingsOutput = Shapes::StructureShape.new(name: 'DescribeGlobalTableSettingsOutput')
137
+ DescribeImportInput = Shapes::StructureShape.new(name: 'DescribeImportInput')
138
+ DescribeImportOutput = Shapes::StructureShape.new(name: 'DescribeImportOutput')
132
139
  DescribeKinesisStreamingDestinationInput = Shapes::StructureShape.new(name: 'DescribeKinesisStreamingDestinationInput')
133
140
  DescribeKinesisStreamingDestinationOutput = Shapes::StructureShape.new(name: 'DescribeKinesisStreamingDestinationOutput')
134
141
  DescribeLimitsInput = Shapes::StructureShape.new(name: 'DescribeLimitsInput')
@@ -144,6 +151,7 @@ module Aws::DynamoDB
144
151
  DuplicateItemException = Shapes::StructureShape.new(name: 'DuplicateItemException')
145
152
  Endpoint = Shapes::StructureShape.new(name: 'Endpoint')
146
153
  Endpoints = Shapes::ListShape.new(name: 'Endpoints')
154
+ ErrorCount = Shapes::IntegerShape.new(name: 'ErrorCount')
147
155
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
148
156
  ExceptionDescription = Shapes::StringShape.new(name: 'ExceptionDescription')
149
157
  ExceptionName = Shapes::StringShape.new(name: 'ExceptionName')
@@ -199,9 +207,25 @@ module Aws::DynamoDB
199
207
  GlobalTableNotFoundException = Shapes::StructureShape.new(name: 'GlobalTableNotFoundException')
200
208
  GlobalTableStatus = Shapes::StringShape.new(name: 'GlobalTableStatus')
201
209
  IdempotentParameterMismatchException = Shapes::StructureShape.new(name: 'IdempotentParameterMismatchException')
210
+ ImportArn = Shapes::StringShape.new(name: 'ImportArn')
211
+ ImportConflictException = Shapes::StructureShape.new(name: 'ImportConflictException')
212
+ ImportEndTime = Shapes::TimestampShape.new(name: 'ImportEndTime')
213
+ ImportNextToken = Shapes::StringShape.new(name: 'ImportNextToken')
214
+ ImportNotFoundException = Shapes::StructureShape.new(name: 'ImportNotFoundException')
215
+ ImportStartTime = Shapes::TimestampShape.new(name: 'ImportStartTime')
216
+ ImportStatus = Shapes::StringShape.new(name: 'ImportStatus')
217
+ ImportSummary = Shapes::StructureShape.new(name: 'ImportSummary')
218
+ ImportSummaryList = Shapes::ListShape.new(name: 'ImportSummaryList')
219
+ ImportTableDescription = Shapes::StructureShape.new(name: 'ImportTableDescription')
220
+ ImportTableInput = Shapes::StructureShape.new(name: 'ImportTableInput')
221
+ ImportTableOutput = Shapes::StructureShape.new(name: 'ImportTableOutput')
222
+ ImportedItemCount = Shapes::IntegerShape.new(name: 'ImportedItemCount')
202
223
  IndexName = Shapes::StringShape.new(name: 'IndexName')
203
224
  IndexNotFoundException = Shapes::StructureShape.new(name: 'IndexNotFoundException')
204
225
  IndexStatus = Shapes::StringShape.new(name: 'IndexStatus')
226
+ InputCompressionType = Shapes::StringShape.new(name: 'InputCompressionType')
227
+ InputFormat = Shapes::StringShape.new(name: 'InputFormat')
228
+ InputFormatOptions = Shapes::StructureShape.new(name: 'InputFormatOptions')
205
229
  Integer = Shapes::IntegerShape.new(name: 'Integer')
206
230
  IntegerObject = Shapes::IntegerShape.new(name: 'IntegerObject')
207
231
  InternalServerError = Shapes::StructureShape.new(name: 'InternalServerError')
@@ -246,6 +270,9 @@ module Aws::DynamoDB
246
270
  ListExportsOutput = Shapes::StructureShape.new(name: 'ListExportsOutput')
247
271
  ListGlobalTablesInput = Shapes::StructureShape.new(name: 'ListGlobalTablesInput')
248
272
  ListGlobalTablesOutput = Shapes::StructureShape.new(name: 'ListGlobalTablesOutput')
273
+ ListImportsInput = Shapes::StructureShape.new(name: 'ListImportsInput')
274
+ ListImportsMaxLimit = Shapes::IntegerShape.new(name: 'ListImportsMaxLimit')
275
+ ListImportsOutput = Shapes::StructureShape.new(name: 'ListImportsOutput')
249
276
  ListTablesInput = Shapes::StructureShape.new(name: 'ListTablesInput')
250
277
  ListTablesInputLimit = Shapes::IntegerShape.new(name: 'ListTablesInputLimit')
251
278
  ListTablesOutput = Shapes::StructureShape.new(name: 'ListTablesOutput')
@@ -279,6 +306,7 @@ module Aws::DynamoDB
279
306
  PositiveIntegerObject = Shapes::IntegerShape.new(name: 'PositiveIntegerObject')
280
307
  PositiveLongObject = Shapes::IntegerShape.new(name: 'PositiveLongObject')
281
308
  PreparedStatementParameters = Shapes::ListShape.new(name: 'PreparedStatementParameters')
309
+ ProcessedItemCount = Shapes::IntegerShape.new(name: 'ProcessedItemCount')
282
310
  Projection = Shapes::StructureShape.new(name: 'Projection')
283
311
  ProjectionExpression = Shapes::StringShape.new(name: 'ProjectionExpression')
284
312
  ProjectionType = Shapes::StringShape.new(name: 'ProjectionType')
@@ -343,6 +371,7 @@ module Aws::DynamoDB
343
371
  ReturnValuesOnConditionCheckFailure = Shapes::StringShape.new(name: 'ReturnValuesOnConditionCheckFailure')
344
372
  S3Bucket = Shapes::StringShape.new(name: 'S3Bucket')
345
373
  S3BucketOwner = Shapes::StringShape.new(name: 'S3BucketOwner')
374
+ S3BucketSource = Shapes::StructureShape.new(name: 'S3BucketSource')
346
375
  S3Prefix = Shapes::StringShape.new(name: 'S3Prefix')
347
376
  S3SseAlgorithm = Shapes::StringShape.new(name: 'S3SseAlgorithm')
348
377
  S3SseKmsKeyId = Shapes::StringShape.new(name: 'S3SseKmsKeyId')
@@ -373,6 +402,7 @@ module Aws::DynamoDB
373
402
  TableClass = Shapes::StringShape.new(name: 'TableClass')
374
403
  TableClassSummary = Shapes::StructureShape.new(name: 'TableClassSummary')
375
404
  TableCreationDateTime = Shapes::TimestampShape.new(name: 'TableCreationDateTime')
405
+ TableCreationParameters = Shapes::StructureShape.new(name: 'TableCreationParameters')
376
406
  TableDescription = Shapes::StructureShape.new(name: 'TableDescription')
377
407
  TableId = Shapes::StringShape.new(name: 'TableId')
378
408
  TableInUseException = Shapes::StructureShape.new(name: 'TableInUseException')
@@ -691,6 +721,12 @@ module Aws::DynamoDB
691
721
  CreateTableOutput.add_member(:table_description, Shapes::ShapeRef.new(shape: TableDescription, location_name: "TableDescription"))
692
722
  CreateTableOutput.struct_class = Types::CreateTableOutput
693
723
 
724
+ CsvHeaderList.member = Shapes::ShapeRef.new(shape: CsvHeader)
725
+
726
+ CsvOptions.add_member(:delimiter, Shapes::ShapeRef.new(shape: CsvDelimiter, location_name: "Delimiter"))
727
+ CsvOptions.add_member(:header_list, Shapes::ShapeRef.new(shape: CsvHeaderList, location_name: "HeaderList"))
728
+ CsvOptions.struct_class = Types::CsvOptions
729
+
694
730
  Delete.add_member(:key, Shapes::ShapeRef.new(shape: Key, required: true, location_name: "Key"))
695
731
  Delete.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "TableName"))
696
732
  Delete.add_member(:condition_expression, Shapes::ShapeRef.new(shape: ConditionExpression, location_name: "ConditionExpression"))
@@ -788,6 +824,12 @@ module Aws::DynamoDB
788
824
  DescribeGlobalTableSettingsOutput.add_member(:replica_settings, Shapes::ShapeRef.new(shape: ReplicaSettingsDescriptionList, location_name: "ReplicaSettings"))
789
825
  DescribeGlobalTableSettingsOutput.struct_class = Types::DescribeGlobalTableSettingsOutput
790
826
 
827
+ DescribeImportInput.add_member(:import_arn, Shapes::ShapeRef.new(shape: ImportArn, required: true, location_name: "ImportArn"))
828
+ DescribeImportInput.struct_class = Types::DescribeImportInput
829
+
830
+ DescribeImportOutput.add_member(:import_table_description, Shapes::ShapeRef.new(shape: ImportTableDescription, required: true, location_name: "ImportTableDescription"))
831
+ DescribeImportOutput.struct_class = Types::DescribeImportOutput
832
+
791
833
  DescribeKinesisStreamingDestinationInput.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "TableName"))
792
834
  DescribeKinesisStreamingDestinationInput.struct_class = Types::DescribeKinesisStreamingDestinationInput
793
835
 
@@ -1012,9 +1054,62 @@ module Aws::DynamoDB
1012
1054
  IdempotentParameterMismatchException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1013
1055
  IdempotentParameterMismatchException.struct_class = Types::IdempotentParameterMismatchException
1014
1056
 
1057
+ ImportConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1058
+ ImportConflictException.struct_class = Types::ImportConflictException
1059
+
1060
+ ImportNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1061
+ ImportNotFoundException.struct_class = Types::ImportNotFoundException
1062
+
1063
+ ImportSummary.add_member(:import_arn, Shapes::ShapeRef.new(shape: ImportArn, location_name: "ImportArn"))
1064
+ ImportSummary.add_member(:import_status, Shapes::ShapeRef.new(shape: ImportStatus, location_name: "ImportStatus"))
1065
+ ImportSummary.add_member(:table_arn, Shapes::ShapeRef.new(shape: TableArn, location_name: "TableArn"))
1066
+ ImportSummary.add_member(:s3_bucket_source, Shapes::ShapeRef.new(shape: S3BucketSource, location_name: "S3BucketSource"))
1067
+ ImportSummary.add_member(:cloud_watch_log_group_arn, Shapes::ShapeRef.new(shape: CloudWatchLogGroupArn, location_name: "CloudWatchLogGroupArn"))
1068
+ ImportSummary.add_member(:input_format, Shapes::ShapeRef.new(shape: InputFormat, location_name: "InputFormat"))
1069
+ ImportSummary.add_member(:start_time, Shapes::ShapeRef.new(shape: ImportStartTime, location_name: "StartTime"))
1070
+ ImportSummary.add_member(:end_time, Shapes::ShapeRef.new(shape: ImportEndTime, location_name: "EndTime"))
1071
+ ImportSummary.struct_class = Types::ImportSummary
1072
+
1073
+ ImportSummaryList.member = Shapes::ShapeRef.new(shape: ImportSummary)
1074
+
1075
+ ImportTableDescription.add_member(:import_arn, Shapes::ShapeRef.new(shape: ImportArn, location_name: "ImportArn"))
1076
+ ImportTableDescription.add_member(:import_status, Shapes::ShapeRef.new(shape: ImportStatus, location_name: "ImportStatus"))
1077
+ ImportTableDescription.add_member(:table_arn, Shapes::ShapeRef.new(shape: TableArn, location_name: "TableArn"))
1078
+ ImportTableDescription.add_member(:table_id, Shapes::ShapeRef.new(shape: TableId, location_name: "TableId"))
1079
+ ImportTableDescription.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken"))
1080
+ ImportTableDescription.add_member(:s3_bucket_source, Shapes::ShapeRef.new(shape: S3BucketSource, location_name: "S3BucketSource"))
1081
+ ImportTableDescription.add_member(:error_count, Shapes::ShapeRef.new(shape: ErrorCount, location_name: "ErrorCount"))
1082
+ ImportTableDescription.add_member(:cloud_watch_log_group_arn, Shapes::ShapeRef.new(shape: CloudWatchLogGroupArn, location_name: "CloudWatchLogGroupArn"))
1083
+ ImportTableDescription.add_member(:input_format, Shapes::ShapeRef.new(shape: InputFormat, location_name: "InputFormat"))
1084
+ ImportTableDescription.add_member(:input_format_options, Shapes::ShapeRef.new(shape: InputFormatOptions, location_name: "InputFormatOptions"))
1085
+ ImportTableDescription.add_member(:input_compression_type, Shapes::ShapeRef.new(shape: InputCompressionType, location_name: "InputCompressionType"))
1086
+ ImportTableDescription.add_member(:table_creation_parameters, Shapes::ShapeRef.new(shape: TableCreationParameters, location_name: "TableCreationParameters"))
1087
+ ImportTableDescription.add_member(:start_time, Shapes::ShapeRef.new(shape: ImportStartTime, location_name: "StartTime"))
1088
+ ImportTableDescription.add_member(:end_time, Shapes::ShapeRef.new(shape: ImportEndTime, location_name: "EndTime"))
1089
+ ImportTableDescription.add_member(:processed_size_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "ProcessedSizeBytes"))
1090
+ ImportTableDescription.add_member(:processed_item_count, Shapes::ShapeRef.new(shape: ProcessedItemCount, location_name: "ProcessedItemCount"))
1091
+ ImportTableDescription.add_member(:imported_item_count, Shapes::ShapeRef.new(shape: ImportedItemCount, location_name: "ImportedItemCount"))
1092
+ ImportTableDescription.add_member(:failure_code, Shapes::ShapeRef.new(shape: FailureCode, location_name: "FailureCode"))
1093
+ ImportTableDescription.add_member(:failure_message, Shapes::ShapeRef.new(shape: FailureMessage, location_name: "FailureMessage"))
1094
+ ImportTableDescription.struct_class = Types::ImportTableDescription
1095
+
1096
+ ImportTableInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
1097
+ ImportTableInput.add_member(:s3_bucket_source, Shapes::ShapeRef.new(shape: S3BucketSource, required: true, location_name: "S3BucketSource"))
1098
+ ImportTableInput.add_member(:input_format, Shapes::ShapeRef.new(shape: InputFormat, required: true, location_name: "InputFormat"))
1099
+ ImportTableInput.add_member(:input_format_options, Shapes::ShapeRef.new(shape: InputFormatOptions, location_name: "InputFormatOptions"))
1100
+ ImportTableInput.add_member(:input_compression_type, Shapes::ShapeRef.new(shape: InputCompressionType, location_name: "InputCompressionType"))
1101
+ ImportTableInput.add_member(:table_creation_parameters, Shapes::ShapeRef.new(shape: TableCreationParameters, required: true, location_name: "TableCreationParameters"))
1102
+ ImportTableInput.struct_class = Types::ImportTableInput
1103
+
1104
+ ImportTableOutput.add_member(:import_table_description, Shapes::ShapeRef.new(shape: ImportTableDescription, required: true, location_name: "ImportTableDescription"))
1105
+ ImportTableOutput.struct_class = Types::ImportTableOutput
1106
+
1015
1107
  IndexNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1016
1108
  IndexNotFoundException.struct_class = Types::IndexNotFoundException
1017
1109
 
1110
+ InputFormatOptions.add_member(:csv, Shapes::ShapeRef.new(shape: CsvOptions, location_name: "Csv"))
1111
+ InputFormatOptions.struct_class = Types::InputFormatOptions
1112
+
1018
1113
  InternalServerError.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
1019
1114
  InternalServerError.struct_class = Types::InternalServerError
1020
1115
 
@@ -1129,6 +1224,15 @@ module Aws::DynamoDB
1129
1224
  ListGlobalTablesOutput.add_member(:last_evaluated_global_table_name, Shapes::ShapeRef.new(shape: TableName, location_name: "LastEvaluatedGlobalTableName"))
1130
1225
  ListGlobalTablesOutput.struct_class = Types::ListGlobalTablesOutput
1131
1226
 
1227
+ ListImportsInput.add_member(:table_arn, Shapes::ShapeRef.new(shape: TableArn, location_name: "TableArn"))
1228
+ ListImportsInput.add_member(:page_size, Shapes::ShapeRef.new(shape: ListImportsMaxLimit, location_name: "PageSize"))
1229
+ ListImportsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: ImportNextToken, location_name: "NextToken"))
1230
+ ListImportsInput.struct_class = Types::ListImportsInput
1231
+
1232
+ ListImportsOutput.add_member(:import_summary_list, Shapes::ShapeRef.new(shape: ImportSummaryList, location_name: "ImportSummaryList"))
1233
+ ListImportsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: ImportNextToken, location_name: "NextToken"))
1234
+ ListImportsOutput.struct_class = Types::ListImportsOutput
1235
+
1132
1236
  ListTablesInput.add_member(:exclusive_start_table_name, Shapes::ShapeRef.new(shape: TableName, location_name: "ExclusiveStartTableName"))
1133
1237
  ListTablesInput.add_member(:limit, Shapes::ShapeRef.new(shape: ListTablesInputLimit, location_name: "Limit"))
1134
1238
  ListTablesInput.struct_class = Types::ListTablesInput
@@ -1437,6 +1541,11 @@ module Aws::DynamoDB
1437
1541
  RestoreTableToPointInTimeOutput.add_member(:table_description, Shapes::ShapeRef.new(shape: TableDescription, location_name: "TableDescription"))
1438
1542
  RestoreTableToPointInTimeOutput.struct_class = Types::RestoreTableToPointInTimeOutput
1439
1543
 
1544
+ S3BucketSource.add_member(:s3_bucket_owner, Shapes::ShapeRef.new(shape: S3BucketOwner, location_name: "S3BucketOwner"))
1545
+ S3BucketSource.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: S3Bucket, required: true, location_name: "S3Bucket"))
1546
+ S3BucketSource.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: S3Prefix, location_name: "S3KeyPrefix"))
1547
+ S3BucketSource.struct_class = Types::S3BucketSource
1548
+
1440
1549
  SSEDescription.add_member(:status, Shapes::ShapeRef.new(shape: SSEStatus, location_name: "Status"))
1441
1550
  SSEDescription.add_member(:sse_type, Shapes::ShapeRef.new(shape: SSEType, location_name: "SSEType"))
1442
1551
  SSEDescription.add_member(:kms_master_key_arn, Shapes::ShapeRef.new(shape: KMSMasterKeyArn, location_name: "KMSMasterKeyArn"))
@@ -1512,6 +1621,15 @@ module Aws::DynamoDB
1512
1621
  TableClassSummary.add_member(:last_update_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "LastUpdateDateTime"))
1513
1622
  TableClassSummary.struct_class = Types::TableClassSummary
1514
1623
 
1624
+ TableCreationParameters.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, required: true, location_name: "TableName"))
1625
+ TableCreationParameters.add_member(:attribute_definitions, Shapes::ShapeRef.new(shape: AttributeDefinitions, required: true, location_name: "AttributeDefinitions"))
1626
+ TableCreationParameters.add_member(:key_schema, Shapes::ShapeRef.new(shape: KeySchema, required: true, location_name: "KeySchema"))
1627
+ TableCreationParameters.add_member(:billing_mode, Shapes::ShapeRef.new(shape: BillingMode, location_name: "BillingMode"))
1628
+ TableCreationParameters.add_member(:provisioned_throughput, Shapes::ShapeRef.new(shape: ProvisionedThroughput, location_name: "ProvisionedThroughput"))
1629
+ TableCreationParameters.add_member(:sse_specification, Shapes::ShapeRef.new(shape: SSESpecification, location_name: "SSESpecification"))
1630
+ TableCreationParameters.add_member(:global_secondary_indexes, Shapes::ShapeRef.new(shape: GlobalSecondaryIndexList, location_name: "GlobalSecondaryIndexes"))
1631
+ TableCreationParameters.struct_class = Types::TableCreationParameters
1632
+
1515
1633
  TableDescription.add_member(:attribute_definitions, Shapes::ShapeRef.new(shape: AttributeDefinitions, location_name: "AttributeDefinitions"))
1516
1634
  TableDescription.add_member(:table_name, Shapes::ShapeRef.new(shape: TableName, location_name: "TableName"))
1517
1635
  TableDescription.add_member(:key_schema, Shapes::ShapeRef.new(shape: KeySchema, location_name: "KeySchema"))
@@ -1950,6 +2068,15 @@ module Aws::DynamoDB
1950
2068
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1951
2069
  end)
1952
2070
 
2071
+ api.add_operation(:describe_import, Seahorse::Model::Operation.new.tap do |o|
2072
+ o.name = "DescribeImport"
2073
+ o.http_method = "POST"
2074
+ o.http_request_uri = "/"
2075
+ o.input = Shapes::ShapeRef.new(shape: DescribeImportInput)
2076
+ o.output = Shapes::ShapeRef.new(shape: DescribeImportOutput)
2077
+ o.errors << Shapes::ShapeRef.new(shape: ImportNotFoundException)
2078
+ end)
2079
+
1953
2080
  api.add_operation(:describe_kinesis_streaming_destination, Seahorse::Model::Operation.new.tap do |o|
1954
2081
  o.name = "DescribeKinesisStreamingDestination"
1955
2082
  o.http_method = "POST"
@@ -2094,6 +2221,17 @@ module Aws::DynamoDB
2094
2221
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2095
2222
  end)
2096
2223
 
2224
+ api.add_operation(:import_table, Seahorse::Model::Operation.new.tap do |o|
2225
+ o.name = "ImportTable"
2226
+ o.http_method = "POST"
2227
+ o.http_request_uri = "/"
2228
+ o.input = Shapes::ShapeRef.new(shape: ImportTableInput)
2229
+ o.output = Shapes::ShapeRef.new(shape: ImportTableOutput)
2230
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
2231
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2232
+ o.errors << Shapes::ShapeRef.new(shape: ImportConflictException)
2233
+ end)
2234
+
2097
2235
  api.add_operation(:list_backups, Seahorse::Model::Operation.new.tap do |o|
2098
2236
  o.name = "ListBackups"
2099
2237
  o.http_method = "POST"
@@ -2148,6 +2286,21 @@ module Aws::DynamoDB
2148
2286
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
2149
2287
  end)
2150
2288
 
2289
+ api.add_operation(:list_imports, Seahorse::Model::Operation.new.tap do |o|
2290
+ o.name = "ListImports"
2291
+ o.http_method = "POST"
2292
+ o.http_request_uri = "/"
2293
+ o.input = Shapes::ShapeRef.new(shape: ListImportsInput)
2294
+ o.output = Shapes::ShapeRef.new(shape: ListImportsOutput)
2295
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2296
+ o[:pager] = Aws::Pager.new(
2297
+ limit_key: "page_size",
2298
+ tokens: {
2299
+ "next_token" => "next_token"
2300
+ }
2301
+ )
2302
+ end)
2303
+
2151
2304
  api.add_operation(:list_tables, Seahorse::Model::Operation.new.tap do |o|
2152
2305
  o.name = "ListTables"
2153
2306
  o.http_method = "POST"