aws-sdk-dynamodb 1.75.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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"