diff --git a/lib/aws_codegen/rest_service.ex b/lib/aws_codegen/rest_service.ex index 02d2e50..c9f3795 100644 --- a/lib/aws_codegen/rest_service.ex +++ b/lib/aws_codegen/rest_service.ex @@ -256,6 +256,9 @@ defmodule AWS.CodeGen.RestService do function_name = AWS.CodeGen.Name.to_snake_case(operation) request_header_parameters = collect_request_header_parameters(language, api_spec, operation) + request_headers_parameters = + collect_request_headers_parameters(language, api_spec, operation) + is_required = fn param -> param.required end required_query_parameters = Enum.filter(query_parameters, is_required) required_request_header_parameters = Enum.filter(request_header_parameters, is_required) @@ -266,7 +269,8 @@ defmodule AWS.CodeGen.RestService do "GET" -> case language do :elixir -> - 2 + length(request_header_parameters) + length(query_parameters) + 2 + length(request_header_parameters) + length(request_headers_parameters) + + length(query_parameters) :erlang -> 4 + length(required_request_header_parameters) + length(required_query_parameters) @@ -295,6 +299,7 @@ defmodule AWS.CodeGen.RestService do query_parameters: query_parameters, required_query_parameters: required_query_parameters, request_header_parameters: request_header_parameters, + request_headers_parameters: request_headers_parameters, required_request_header_parameters: required_request_header_parameters, response_header_parameters: collect_response_header_parameters(language, api_spec, operation), @@ -338,6 +343,10 @@ defmodule AWS.CodeGen.RestService do collect_parameters(language, api_spec, operation, "input", "smithy.api#httpHeader") end + defp collect_request_headers_parameters(language, api_spec, operation) do + collect_parameters(language, api_spec, operation, "input", "smithy.api#httpPrefixHeaders") + end + defp collect_response_header_parameters(language, api_spec, operation) do collect_parameters(language, api_spec, operation, "output", "smithy.api#httpHeader") end diff --git a/priv/rest.ex.eex b/priv/rest.ex.eex index 7ac11e5..e68d508 100644 --- a/priv/rest.ex.eex +++ b/priv/rest.ex.eex @@ -123,7 +123,13 @@ def <%= action.function_name %>(%Client{} = client<%= AWS.CodeGen.RestService.fu {"<%= parameter.name %>", "<%= parameter.location_name %>"},<% end %> ] |> Request.build_params(input)<% else %> - headers = []<% end %><%= if length(action.query_parameters) > 0 do %> + headers = []<% end %><%= if length(action.request_headers_parameters) > 0 do %> + {custom_headers, input} = + [<%= for parameter <- action.request_headers_parameters do %> + {"<%= parameter.name %>", "<%= parameter.location_name %>"},<% end %> + ] + |> Request.build_params(input)<% else %> + custom_headers = []<% end %><%= if length(action.query_parameters) > 0 do %> {query_params, input} = [<%= for parameter <- action.query_parameters do %> {"<%= parameter.name %>", "<%= parameter.location_name %>"},<% end %> @@ -166,6 +172,6 @@ def <%= action.function_name %>(%Client{} = client<%= AWS.CodeGen.RestService.fu meta = metadata() <% end %> - Request.request_rest(client, meta, <%= AWS.CodeGen.RestService.Action.method(action) %>, url_path, query_params, headers, input, options, <%= inspect(action.success_status_code) %>)<% end %> + Request.request_rest(client, meta, <%= AWS.CodeGen.RestService.Action.method(action) %>, url_path, query_params, custom_headers ++ headers, input, options, <%= inspect(action.success_status_code) %>)<% end %> end<% end %> end diff --git a/test/aws_codegen_test.exs b/test/aws_codegen_test.exs index bd120e0..83c9eb0 100644 --- a/test/aws_codegen_test.exs +++ b/test/aws_codegen_test.exs @@ -14,6 +14,9 @@ defmodule AWS.CodeGenTest do } } + @service_spec_custom_headers_file "test/fixtures/apis_specs/dataexchange.json" + @service_spec_custom_headers_generated "test/fixtures/generated/data_exchange.ex" + setup do service_specs = @service_spec_file @@ -24,7 +27,7 @@ defmodule AWS.CodeGenTest do end describe "render/2" do - defp setup_context(language, specs, docs \\ nil) do + defp setup_context(language, specs, _docs \\ nil) do spec = %AWS.CodeGen.Spec{ api: specs, module_name: "AWS.CloudTrailData", @@ -37,6 +40,19 @@ defmodule AWS.CodeGenTest do RestService.load_context(language, spec, @endpoints_spec) end + defp setup_dataexchange_context(language, specs, _docs \\ nil) do + spec = %AWS.CodeGen.Spec{ + api: specs, + module_name: "AWS.DataExchange", + filename: "data_exchange.ex", + protocol: :rest_json, + language: :elixir, + shape_name: "com.amazonaws.dataexchange#DataExchange" + } + + RestService.load_context(language, spec, @endpoints_spec) + end + test "renders the Elixir module with docs", %{specs: specs} do context = setup_context(:elixir, specs) @@ -238,6 +254,7 @@ defmodule AWS.CodeGenTest do def put_audit_events(%Client{} = client, input, options \\\\ []) do url_path = \"/PutAuditEvents\" headers = [] + custom_headers = [] {query_params, input} = [ @@ -254,7 +271,7 @@ defmodule AWS.CodeGenTest do :post, url_path, query_params, - headers, + custom_headers ++ headers, input, options, 200 @@ -717,6 +734,7 @@ defmodule AWS.CodeGenTest do def put_audit_events(%Client{} = client, input, options \\\\ []) do url_path = \"/PutAuditEvents\" headers = [] + custom_headers = [] {query_params, input} = [ @@ -733,7 +751,7 @@ defmodule AWS.CodeGenTest do :post, url_path, query_params, - headers, + custom_headers ++ headers, input, options, 200 @@ -742,5 +760,22 @@ defmodule AWS.CodeGenTest do end """) end + + test "renders the Elixir module with custom headers" do + specs_file = + @service_spec_custom_headers_file + |> File.read!() + |> Poison.decode!() + + context = setup_dataexchange_context(:elixir, specs_file) + + result = + context + |> AWS.CodeGen.render("priv/rest.ex.eex") + |> IO.iodata_to_binary() + + generated = File.read!(@service_spec_custom_headers_generated) + assert result == generated + end end end diff --git a/test/fixtures/apis_specs/dataexchange.json b/test/fixtures/apis_specs/dataexchange.json new file mode 100644 index 0000000..1d532eb --- /dev/null +++ b/test/fixtures/apis_specs/dataexchange.json @@ -0,0 +1,7861 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.dataexchange#AcceptDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#AcceptDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#AcceptDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "
This operation accepts a data grant.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-grants/{DataGrantArn}/accept", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#AcceptDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantArn": { + "target": "com.amazonaws.dataexchange#DataGrantArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant to accept.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#AcceptDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the accepted data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
" + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "The description of the accepted data grant.
" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "The distribution scope for the data grant.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the accepted data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#AcceptanceStateFilterValue": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_RECEIVER_ACCEPTANCE", + "name": "PENDING_RECEIVER_ACCEPTANCE" + }, + { + "value": "ACCEPTED", + "name": "ACCEPTED" + } + ] + } + }, + "com.amazonaws.dataexchange#AcceptanceStateFilterValues": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#AcceptanceStateFilterValue" + } + }, + "com.amazonaws.dataexchange#AccessDeniedException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Access to the resource is denied.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Access to the resource is denied.
", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.dataexchange#Action": { + "type": "structure", + "members": { + "ExportRevisionToS3": { + "target": "com.amazonaws.dataexchange#AutoExportRevisionToS3RequestDetails", + "traits": { + "smithy.api#documentation": "Details for the export revision to Amazon S3 action.
" + } + } + }, + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
" + } + }, + "com.amazonaws.dataexchange#ApiDescription": { + "type": "string" + }, + "com.amazonaws.dataexchange#ApiGatewayApiAsset": { + "type": "structure", + "members": { + "ApiDescription": { + "target": "com.amazonaws.dataexchange#ApiDescription", + "traits": { + "smithy.api#documentation": "The API description of the API asset.
" + } + }, + "ApiEndpoint": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API endpoint of the API asset.
" + } + }, + "ApiId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier of the API asset.
" + } + }, + "ApiKey": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API key of the API asset.
" + } + }, + "ApiName": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API name of the API asset.
" + } + }, + "ApiSpecificationDownloadUrl": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The download URL of the API specification of the API asset.
" + } + }, + "ApiSpecificationDownloadUrlExpiresAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the upload URL expires, in ISO 8601 format.
" + } + }, + "ProtocolType": { + "target": "com.amazonaws.dataexchange#ProtocolType", + "traits": { + "smithy.api#documentation": "The protocol type of the API asset.
" + } + }, + "Stage": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The stage of the API asset.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The API Gateway API that is the asset.
" + } + }, + "com.amazonaws.dataexchange#Arn": { + "type": "string" + }, + "com.amazonaws.dataexchange#AssetDestinationEntry": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset.
", + "smithy.api#required": {} + } + }, + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket that is the destination for the asset.
", + "smithy.api#required": {} + } + }, + "Key": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The name of the object in Amazon S3 for the asset.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The destination for the asset.
" + } + }, + "com.amazonaws.dataexchange#AssetDetails": { + "type": "structure", + "members": { + "S3SnapshotAsset": { + "target": "com.amazonaws.dataexchange#S3SnapshotAsset", + "traits": { + "smithy.api#documentation": "The Amazon S3 object that is the asset.
" + } + }, + "RedshiftDataShareAsset": { + "target": "com.amazonaws.dataexchange#RedshiftDataShareAsset", + "traits": { + "smithy.api#documentation": "The Amazon Redshift datashare that is the asset.
" + } + }, + "ApiGatewayApiAsset": { + "target": "com.amazonaws.dataexchange#ApiGatewayApiAsset", + "traits": { + "smithy.api#documentation": "Information about the API Gateway API asset.
" + } + }, + "S3DataAccessAsset": { + "target": "com.amazonaws.dataexchange#S3DataAccessAsset", + "traits": { + "smithy.api#documentation": "The Amazon S3 data access that is the asset.
" + } + }, + "LakeFormationDataPermissionAsset": { + "target": "com.amazonaws.dataexchange#LakeFormationDataPermissionAsset", + "traits": { + "smithy.api#documentation": "The AWS Lake Formation data permission that is the asset.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the asset.
" + } + }, + "com.amazonaws.dataexchange#AssetEntry": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the asset.
", + "smithy.api#required": {} + } + }, + "AssetDetails": { + "target": "com.amazonaws.dataexchange#AssetDetails", + "traits": { + "smithy.api#documentation": "Details about the asset.
", + "smithy.api#required": {} + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was created, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this asset.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset.
", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s)\n included in LF-tag policy\" or \"Table(s) included in LF-tag policy\" are used as the asset\n name.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this asset.
", + "smithy.api#required": {} + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was last updated, in ISO 8601 format.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "An asset in AWS Data Exchange is a piece of data (Amazon S3 object) or a means of\n fulfilling data (Amazon Redshift datashare or Amazon API Gateway API, AWS Lake Formation\n data permission, or Amazon S3 data access). The asset can be a structured data file, an\n image file, or some other data file that can be stored as an Amazon S3 object, an Amazon\n API Gateway API, or an Amazon Redshift datashare, an AWS Lake Formation data permission, or\n an Amazon S3 data access. When you create an import job for your files, API Gateway APIs,\n Amazon Redshift datashares, AWS Lake Formation data permission, or Amazon S3 data access,\n you create an asset in AWS Data Exchange.
" + } + }, + "com.amazonaws.dataexchange#AssetName": { + "type": "string" + }, + "com.amazonaws.dataexchange#AssetSourceEntry": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket that's part of the source of the asset.
", + "smithy.api#required": {} + } + }, + "Key": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The name of the object in Amazon S3 for the asset.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The source of the assets.
" + } + }, + "com.amazonaws.dataexchange#AssetType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "S3_SNAPSHOT", + "name": "S3_SNAPSHOT" + }, + { + "value": "REDSHIFT_DATA_SHARE", + "name": "REDSHIFT_DATA_SHARE" + }, + { + "value": "API_GATEWAY_API", + "name": "API_GATEWAY_API" + }, + { + "value": "S3_DATA_ACCESS", + "name": "S3_DATA_ACCESS" + }, + { + "value": "LAKE_FORMATION_DATA_PERMISSION", + "name": "LAKE_FORMATION_DATA_PERMISSION" + } + ] + } + }, + "com.amazonaws.dataexchange#AutoExportRevisionDestinationEntry": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket that is the destination for the event action.
", + "smithy.api#required": {} + } + }, + "KeyPattern": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A string representing the pattern for generated names of the individual assets in the\n revision. For more information about key patterns, see Key patterns when exporting revisions.
" + } + } + }, + "traits": { + "smithy.api#documentation": "A revision destination is the Amazon S3 bucket folder destination to where the export\n will be sent.
" + } + }, + "com.amazonaws.dataexchange#AutoExportRevisionToS3RequestDetails": { + "type": "structure", + "members": { + "Encryption": { + "target": "com.amazonaws.dataexchange#ExportServerSideEncryption", + "traits": { + "smithy.api#documentation": "Encryption configuration for the auto export job.
" + } + }, + "RevisionDestination": { + "target": "com.amazonaws.dataexchange#AutoExportRevisionDestinationEntry", + "traits": { + "smithy.api#documentation": "A revision destination is the Amazon S3 bucket folder destination to where the export\n will be sent.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#AwsAccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "/^[\\d]{12}$/" + } + }, + "com.amazonaws.dataexchange#CancelJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CancelJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation cancels a job. Jobs can be cancelled only when they are in the WAITING\n state.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/jobs/{JobId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#CancelJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a job.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\x21-\\x7E]{1,64}$" + } + }, + "com.amazonaws.dataexchange#Code": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACCESS_DENIED_EXCEPTION", + "name": "ACCESS_DENIED_EXCEPTION" + }, + { + "value": "INTERNAL_SERVER_EXCEPTION", + "name": "INTERNAL_SERVER_EXCEPTION" + }, + { + "value": "MALWARE_DETECTED", + "name": "MALWARE_DETECTED" + }, + { + "value": "RESOURCE_NOT_FOUND_EXCEPTION", + "name": "RESOURCE_NOT_FOUND_EXCEPTION" + }, + { + "value": "SERVICE_QUOTA_EXCEEDED_EXCEPTION", + "name": "SERVICE_QUOTA_EXCEEDED_EXCEPTION" + }, + { + "value": "VALIDATION_EXCEPTION", + "name": "VALIDATION_EXCEPTION" + }, + { + "value": "MALWARE_SCAN_ENCRYPTED_FILE", + "name": "MALWARE_SCAN_ENCRYPTED_FILE" + } + ] + } + }, + "com.amazonaws.dataexchange#ConflictException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The request couldn't be completed because it conflicted with the current state of the\n resource.
", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the resource with the conflict.
" + } + }, + "ResourceType": { + "target": "com.amazonaws.dataexchange#ResourceType", + "traits": { + "smithy.api#documentation": "The type of the resource with the conflict.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The request couldn't be completed because it conflicted with the current state of the\n resource.
", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.dataexchange#CreateDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ServiceLimitExceededException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation creates a data grant.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-grants", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateDataGrantRequest": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "The distribution scope of the data grant.
", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set used to create the data grant.
", + "smithy.api#required": {} + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description of the data grant.
" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags to add to the data grant. A tag is a key-value pair.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#CreateDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "The description of the data grant.
" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "The distribution scope for the data grant.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set used to create the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags associated to the data grant. A tag is a key-value pair.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#CreateDataSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateDataSetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateDataSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ServiceLimitExceededException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation creates a data set.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-sets", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateDataSetRequest": { + "type": "structure", + "members": { + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "A description for the data set. This value can be up to 16,348 characters long.
", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "A data set tag is an optional label that you can assign to a data set when you create\n it. Each tag consists of a key and an optional value, both of which you define. When you\n use tagging, you can also use tag-based access control in IAM policies to control access to\n these data sets and revisions.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the data set.
" + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was created, in ISO 8601 format.
" + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description for the data set.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
" + } + }, + "Origin": { + "target": "com.amazonaws.dataexchange#Origin", + "traits": { + "smithy.api#documentation": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).
" + } + }, + "OriginDetails": { + "target": "com.amazonaws.dataexchange#OriginDetails", + "traits": { + "smithy.api#documentation": "If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.
" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags for the data set.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateEventAction": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateEventActionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateEventActionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ServiceLimitExceededException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation creates an event action.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/event-actions", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateEventActionRequest": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
", + "smithy.api#required": {} + } + }, + "Event": { + "target": "com.amazonaws.dataexchange#Event", + "traits": { + "smithy.api#documentation": "What occurs to start an action.
", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#CreateEventActionResponse": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
" + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the event action.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was created, in ISO 8601 format.
" + } + }, + "Event": { + "target": "com.amazonaws.dataexchange#Event", + "traits": { + "smithy.api#documentation": "What occurs to start an action.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateJobRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation creates a job.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/jobs", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateJobRequest": { + "type": "structure", + "members": { + "Details": { + "target": "com.amazonaws.dataexchange#RequestDetails", + "traits": { + "smithy.api#documentation": "The details for the CreateJob request.
", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#Type", + "traits": { + "smithy.api#documentation": "The type of job to be created.
", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#CreateJobResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the job.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was created, in ISO 8601 format.
" + } + }, + "Details": { + "target": "com.amazonaws.dataexchange#ResponseDetails", + "traits": { + "smithy.api#documentation": "Details about the job.
" + } + }, + "Errors": { + "target": "com.amazonaws.dataexchange#ListOfJobError", + "traits": { + "smithy.api#documentation": "The errors associated with jobs.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the job.
" + } + }, + "State": { + "target": "com.amazonaws.dataexchange#State", + "traits": { + "smithy.api#documentation": "The state of the job.
" + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#Type", + "traits": { + "smithy.api#documentation": "The job type.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateRevision": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#CreateRevisionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#CreateRevisionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation creates a revision for a data set.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-sets/{DataSetId}/revisions", + "code": 201 + } + } + }, + "com.amazonaws.dataexchange#CreateRevisionRequest": { + "type": "structure", + "members": { + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "A revision tag is an optional label that you can assign to a revision when you create\n it. Each tag consists of a key and an optional value, both of which you define. When you\n use tagging, you can also use tag-based access control in IAM policies to control access to\n these data sets and revisions.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the revision.
" + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the data set revision.
" + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.
" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags for the revision.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was last updated, in ISO 8601 format.
" + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
" + } + }, + "Revoked": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A status indicating that subscribers' access to the revision was revoked.
" + } + }, + "RevokedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was revoked, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#CreateS3DataAccessFromS3BucketRequestDetails": { + "type": "structure", + "members": { + "AssetSource": { + "target": "com.amazonaws.dataexchange#S3DataAccessAssetSourceEntry", + "traits": { + "smithy.api#documentation": "Details about the S3 data access source asset.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the creation of this Amazon S3\n data access.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to create an Amazon S3 data access from an S3 bucket.
" + } + }, + "com.amazonaws.dataexchange#CreateS3DataAccessFromS3BucketResponseDetails": { + "type": "structure", + "members": { + "AssetSource": { + "target": "com.amazonaws.dataexchange#S3DataAccessAssetSourceEntry", + "traits": { + "smithy.api#documentation": "Details about the asset source from an Amazon S3 bucket.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for this data set.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the response of the operation to create an S3 data access from an S3\n bucket.
" + } + }, + "com.amazonaws.dataexchange#DataExchange": { + "type": "service", + "version": "2017-07-25", + "operations": [ + { + "target": "com.amazonaws.dataexchange#AcceptDataGrant" + }, + { + "target": "com.amazonaws.dataexchange#CancelJob" + }, + { + "target": "com.amazonaws.dataexchange#CreateDataGrant" + }, + { + "target": "com.amazonaws.dataexchange#CreateDataSet" + }, + { + "target": "com.amazonaws.dataexchange#CreateEventAction" + }, + { + "target": "com.amazonaws.dataexchange#CreateJob" + }, + { + "target": "com.amazonaws.dataexchange#CreateRevision" + }, + { + "target": "com.amazonaws.dataexchange#DeleteAsset" + }, + { + "target": "com.amazonaws.dataexchange#DeleteDataGrant" + }, + { + "target": "com.amazonaws.dataexchange#DeleteDataSet" + }, + { + "target": "com.amazonaws.dataexchange#DeleteEventAction" + }, + { + "target": "com.amazonaws.dataexchange#DeleteRevision" + }, + { + "target": "com.amazonaws.dataexchange#GetAsset" + }, + { + "target": "com.amazonaws.dataexchange#GetDataGrant" + }, + { + "target": "com.amazonaws.dataexchange#GetDataSet" + }, + { + "target": "com.amazonaws.dataexchange#GetEventAction" + }, + { + "target": "com.amazonaws.dataexchange#GetJob" + }, + { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrant" + }, + { + "target": "com.amazonaws.dataexchange#GetRevision" + }, + { + "target": "com.amazonaws.dataexchange#ListDataGrants" + }, + { + "target": "com.amazonaws.dataexchange#ListDataSetRevisions" + }, + { + "target": "com.amazonaws.dataexchange#ListDataSets" + }, + { + "target": "com.amazonaws.dataexchange#ListEventActions" + }, + { + "target": "com.amazonaws.dataexchange#ListJobs" + }, + { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrants" + }, + { + "target": "com.amazonaws.dataexchange#ListRevisionAssets" + }, + { + "target": "com.amazonaws.dataexchange#ListTagsForResource" + }, + { + "target": "com.amazonaws.dataexchange#RevokeRevision" + }, + { + "target": "com.amazonaws.dataexchange#SendApiAsset" + }, + { + "target": "com.amazonaws.dataexchange#SendDataSetNotification" + }, + { + "target": "com.amazonaws.dataexchange#StartJob" + }, + { + "target": "com.amazonaws.dataexchange#TagResource" + }, + { + "target": "com.amazonaws.dataexchange#UntagResource" + }, + { + "target": "com.amazonaws.dataexchange#UpdateAsset" + }, + { + "target": "com.amazonaws.dataexchange#UpdateDataSet" + }, + { + "target": "com.amazonaws.dataexchange#UpdateEventAction" + }, + { + "target": "com.amazonaws.dataexchange#UpdateRevision" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "DataExchange", + "arnNamespace": "dataexchange", + "cloudTrailEventSource": "dataexchange.amazonaws.com", + "endpointPrefix": "dataexchange" + }, + "aws.auth#sigv4": { + "name": "dataexchange" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "AWS Data Exchange is a service that makes it easy for AWS customers to exchange data in\n the cloud. You can use the AWS Data Exchange APIs to create, update, manage, and access\n file-based data set in the AWS Cloud.
\nAs a subscriber, you can view and access the data sets that you have an entitlement to\n through a subscription. You can use the APIs to download or copy your entitled data sets to\n Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS analytics and\n machine learning services.
\nAs a provider, you can create and manage your data sets that you would like to publish\n to a product. Being able to package and provide your data sets into products requires a few\n steps to determine eligibility. For more information, visit the AWS Data Exchange\n User Guide.
\nA data set is a collection of data that can be changed or updated over time. Data sets\n can be updated using revisions, which represent a new version or incremental change to a\n data set. A revision contains one or more assets. An asset in AWS Data Exchange is a piece\n of data that can be stored as an Amazon S3 object, Redshift datashare, API Gateway API, AWS\n Lake Formation data permission, or Amazon S3 data access. The asset can be a structured\n data file, an image file, or some other data file. Jobs are asynchronous import or export\n operations used to create or copy assets.
", + "smithy.api#title": "AWS Data Exchange", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dataexchange-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dataexchange-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://dataexchange.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://dataexchange.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.ap-northeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.eu-central-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.eu-west-2.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-east-2.amazonaws.com" + } + }, + "params": { + "Region": "us-east-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://dataexchange.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.dataexchange#DataGrantAcceptanceState": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PENDING_RECEIVER_ACCEPTANCE", + "name": "PENDING_RECEIVER_ACCEPTANCE" + }, + { + "value": "ACCEPTED", + "name": "ACCEPTED" + } + ] + } + }, + "com.amazonaws.dataexchange#DataGrantArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:dataexchange:[\\-a-z0-9]*:(\\d{12}):data-grants\\/[a-zA-Z0-9]{30,40}$" + } + }, + "com.amazonaws.dataexchange#DataGrantDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 16384 + } + } + }, + "com.amazonaws.dataexchange#DataGrantId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-zA-Z0-9]{30,40}$|^arn:aws:dataexchange:[\\-a-z0-9]*:(\\d{12}):data-grants\\/[a-zA-Z0-9]{30,40}$" + } + }, + "com.amazonaws.dataexchange#DataGrantName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.dataexchange#DataGrantSummaryEntry": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set used to create the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Information about a data grant.
" + } + }, + "com.amazonaws.dataexchange#DataSetEntry": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the data set.
", + "smithy.api#required": {} + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was created, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description for the data set.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set.
", + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
", + "smithy.api#required": {} + } + }, + "Origin": { + "target": "com.amazonaws.dataexchange#Origin", + "traits": { + "smithy.api#documentation": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).
", + "smithy.api#required": {} + } + }, + "OriginDetails": { + "target": "com.amazonaws.dataexchange#OriginDetails", + "traits": { + "smithy.api#documentation": "If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was last updated, in ISO 8601 format.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A data set is an AWS resource with one or more revisions.
" + } + }, + "com.amazonaws.dataexchange#DataUpdateRequestDetails": { + "type": "structure", + "members": { + "DataUpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "A\n datetime in the past when the data was updated. This typically means that the underlying\n resource supporting the data set was updated.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to a data update type notification.
" + } + }, + "com.amazonaws.dataexchange#DatabaseLFTagPolicy": { + "type": "structure", + "members": { + "Expression": { + "target": "com.amazonaws.dataexchange#ListOfLFTags", + "traits": { + "smithy.api#documentation": "A list of LF-tag conditions that apply to database resources.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The LF-tag policy for database resources.
" + } + }, + "com.amazonaws.dataexchange#DatabaseLFTagPolicyAndPermissions": { + "type": "structure", + "members": { + "Expression": { + "target": "com.amazonaws.dataexchange#ListOfLFTags", + "traits": { + "smithy.api#documentation": "A list of LF-tag conditions that apply to database resources.
", + "smithy.api#required": {} + } + }, + "Permissions": { + "target": "com.amazonaws.dataexchange#ListOfDatabaseLFTagPolicyPermissions", + "traits": { + "smithy.api#documentation": "The permissions granted to subscribers on database resources.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The LF-tag policy and permissions for database resources.
" + } + }, + "com.amazonaws.dataexchange#DatabaseLFTagPolicyPermission": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DESCRIBE", + "name": "DESCRIBE" + } + ] + } + }, + "com.amazonaws.dataexchange#DeleteAsset": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteAssetRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation deletes an asset.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for an asset.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#DeleteDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteDataGrantRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation deletes a data grant.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/data-grants/{DataGrantId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantId": { + "target": "com.amazonaws.dataexchange#DataGrantId", + "traits": { + "smithy.api#documentation": "The ID of the data grant to delete.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#DeleteDataSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteDataSetRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation deletes a data set.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/data-sets/{DataSetId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#DeleteEventAction": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteEventActionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation deletes the event action.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/event-actions/{EventActionId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteEventActionRequest": { + "type": "structure", + "members": { + "EventActionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#DeleteRevision": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#DeleteRevisionRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation deletes a revision.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#DeleteRevisionRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#DeprecationRequestDetails": { + "type": "structure", + "members": { + "DeprecationAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "A\n datetime in the future when the data set will be deprecated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to a deprecation type notification.
" + } + }, + "com.amazonaws.dataexchange#Description": { + "type": "string" + }, + "com.amazonaws.dataexchange#Details": { + "type": "structure", + "members": { + "ImportAssetFromSignedUrlJobErrorDetails": { + "target": "com.amazonaws.dataexchange#ImportAssetFromSignedUrlJobErrorDetails", + "traits": { + "smithy.api#documentation": "Information about the job error.
" + } + }, + "ImportAssetsFromS3JobErrorDetails": { + "target": "com.amazonaws.dataexchange#ListOfAssetSourceEntry", + "traits": { + "smithy.api#documentation": "Details about the job error.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Information about the job error.
" + } + }, + "com.amazonaws.dataexchange#Event": { + "type": "structure", + "members": { + "RevisionPublished": { + "target": "com.amazonaws.dataexchange#RevisionPublished", + "traits": { + "smithy.api#documentation": "What occurs to start the revision publish action.
" + } + } + }, + "traits": { + "smithy.api#documentation": "What occurs to start an action.
" + } + }, + "com.amazonaws.dataexchange#EventActionEntry": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) for the event action.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was created, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "Event": { + "target": "com.amazonaws.dataexchange#Event", + "traits": { + "smithy.api#documentation": "What occurs to start an action.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was last updated, in ISO 8601 format.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "An event action is an object that defines the relationship between a specific event and\n an automated action that will be taken on behalf of the customer.
" + } + }, + "com.amazonaws.dataexchange#ExceptionCause": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "InsufficientS3BucketPolicy", + "name": "InsufficientS3BucketPolicy" + }, + { + "value": "S3AccessDenied", + "name": "S3AccessDenied" + } + ] + } + }, + "com.amazonaws.dataexchange#ExportAssetToSignedUrlRequestDetails": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset that is exported to a signed URL.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this export request.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#ExportAssetToSignedUrlResponseDetails": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset associated with this export job.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this export response.
", + "smithy.api#required": {} + } + }, + "SignedUrl": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The signed URL for the export request.
" + } + }, + "SignedUrlExpiresAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the signed URL expires, in ISO 8601 format.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The details of the export to signed URL response.
" + } + }, + "com.amazonaws.dataexchange#ExportAssetsToS3RequestDetails": { + "type": "structure", + "members": { + "AssetDestinations": { + "target": "com.amazonaws.dataexchange#ListOfAssetDestinationEntry", + "traits": { + "smithy.api#documentation": "The destination for the asset.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "Encryption": { + "target": "com.amazonaws.dataexchange#ExportServerSideEncryption", + "traits": { + "smithy.api#documentation": "Encryption configuration for the export job.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this export request.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#ExportAssetsToS3ResponseDetails": { + "type": "structure", + "members": { + "AssetDestinations": { + "target": "com.amazonaws.dataexchange#ListOfAssetDestinationEntry", + "traits": { + "smithy.api#documentation": "The destination in Amazon S3 where the asset is exported.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "Encryption": { + "target": "com.amazonaws.dataexchange#ExportServerSideEncryption", + "traits": { + "smithy.api#documentation": "Encryption configuration of the export job.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this export response.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the export to Amazon S3 response.
" + } + }, + "com.amazonaws.dataexchange#ExportRevisionsToS3RequestDetails": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "Encryption": { + "target": "com.amazonaws.dataexchange#ExportServerSideEncryption", + "traits": { + "smithy.api#documentation": "Encryption configuration for the export job.
" + } + }, + "RevisionDestinations": { + "target": "com.amazonaws.dataexchange#ListOfRevisionDestinationEntry", + "traits": { + "smithy.api#documentation": "The destination for the revision.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#ExportRevisionsToS3ResponseDetails": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this export job.
", + "smithy.api#required": {} + } + }, + "Encryption": { + "target": "com.amazonaws.dataexchange#ExportServerSideEncryption", + "traits": { + "smithy.api#documentation": "Encryption configuration of the export job.
" + } + }, + "RevisionDestinations": { + "target": "com.amazonaws.dataexchange#ListOfRevisionDestinationEntry", + "traits": { + "smithy.api#documentation": "The destination in Amazon S3 where the revision is exported.
", + "smithy.api#required": {} + } + }, + "EventActionArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the event action.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the export revisions to Amazon S3 response.
" + } + }, + "com.amazonaws.dataexchange#ExportServerSideEncryption": { + "type": "structure", + "members": { + "KmsKeyArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the AWS KMS key you want to use to encrypt the Amazon\n S3 objects. This parameter is required if you choose aws:kms as an encryption type.
" + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#ServerSideEncryptionTypes", + "traits": { + "smithy.api#documentation": "The type of server side encryption used for encrypting the objects in Amazon S3.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Encryption configuration of the export job. Includes the encryption type in addition to\n the AWS KMS key. The KMS key is only necessary if you chose the KMS encryption type.
" + } + }, + "com.amazonaws.dataexchange#GetAsset": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetAssetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetAssetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about an asset.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for an asset.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#GetAssetResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the asset.
" + } + }, + "AssetDetails": { + "target": "com.amazonaws.dataexchange#AssetDetails", + "traits": { + "smithy.api#documentation": "Details about the asset.
" + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this asset.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s)\n included in the LF-tag policy\" or \"Table(s) included in the LF-tag policy\" are used as the\n asset name.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this asset.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#GetDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about a data grant.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-grants/{DataGrantId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantId": { + "target": "com.amazonaws.dataexchange#DataGrantId", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#GetDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "The description of the data grant.
" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "The distribution scope for the data grant.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "SourceDataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set used to create the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags associated to the data grant. A tag is a key-value pair.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#GetDataSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetDataSetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetDataSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about a data set.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets/{DataSetId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#GetDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the data set.
" + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was created, in ISO 8601 format.
" + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description for the data set.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
" + } + }, + "Origin": { + "target": "com.amazonaws.dataexchange#Origin", + "traits": { + "smithy.api#documentation": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).
" + } + }, + "OriginDetails": { + "target": "com.amazonaws.dataexchange#OriginDetails", + "traits": { + "smithy.api#documentation": "If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.
" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags for the data set.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#GetEventAction": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetEventActionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetEventActionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation retrieves information about an event action.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/event-actions/{EventActionId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetEventActionRequest": { + "type": "structure", + "members": { + "EventActionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#GetEventActionResponse": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
" + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the event action.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was created, in ISO 8601 format.
" + } + }, + "Event": { + "target": "com.amazonaws.dataexchange#Event", + "traits": { + "smithy.api#documentation": "What occurs to start an action.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#GetJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetJobRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about a job.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/jobs/{JobId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a job.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#GetJobResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the job.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was created, in ISO 8601 format.
" + } + }, + "Details": { + "target": "com.amazonaws.dataexchange#ResponseDetails", + "traits": { + "smithy.api#documentation": "Details about the job.
" + } + }, + "Errors": { + "target": "com.amazonaws.dataexchange#ListOfJobError", + "traits": { + "smithy.api#documentation": "The errors associated with jobs.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the job.
" + } + }, + "State": { + "target": "com.amazonaws.dataexchange#State", + "traits": { + "smithy.api#documentation": "The state of the job.
" + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#Type", + "traits": { + "smithy.api#documentation": "The job type.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrant": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrantRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetReceivedDataGrantResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about a received data grant.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/received-data-grants/{DataGrantArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrantRequest": { + "type": "structure", + "members": { + "DataGrantArn": { + "target": "com.amazonaws.dataexchange#DataGrantArn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#GetReceivedDataGrantResponse": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
" + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#DataGrantDescription", + "traits": { + "smithy.api#documentation": "The description of the data grant.
" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "GrantDistributionScope": { + "target": "com.amazonaws.dataexchange#GrantDistributionScope", + "traits": { + "smithy.api#documentation": "The distribution scope for the data grant.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#GetRevision": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#GetRevisionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#GetRevisionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about a revision.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#GetRevisionRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#GetRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the revision.
" + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the data set revision.
" + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.
" + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The tags for the revision.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was last updated, in ISO 8601 format.
" + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
" + } + }, + "Revoked": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A status indicating that subscribers' access to the revision was revoked.
" + } + }, + "RevokedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was revoked, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#GrantDistributionScope": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "AWS_ORGANIZATION", + "name": "AWS_ORGANIZATION" + }, + { + "value": "NONE", + "name": "NONE" + } + ] + } + }, + "com.amazonaws.dataexchange#Id": { + "type": "string" + }, + "com.amazonaws.dataexchange#ImportAssetFromApiGatewayApiRequestDetails": { + "type": "structure", + "members": { + "ApiDescription": { + "target": "com.amazonaws.dataexchange#ApiDescription", + "traits": { + "smithy.api#documentation": "The API description. Markdown supported.
" + } + }, + "ApiId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API Gateway API ID.
", + "smithy.api#required": {} + } + }, + "ApiKey": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API Gateway API key.
" + } + }, + "ApiName": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API name.
", + "smithy.api#required": {} + } + }, + "ApiSpecificationMd5Hash": { + "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "traits": { + "smithy.api#documentation": "The Base64-encoded MD5 hash of the OpenAPI 3.0 JSON API specification file. It is used\n to ensure the integrity of the file.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID.
", + "smithy.api#required": {} + } + }, + "ProtocolType": { + "target": "com.amazonaws.dataexchange#ProtocolType", + "traits": { + "smithy.api#documentation": "The protocol type.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID.
", + "smithy.api#required": {} + } + }, + "Stage": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API stage.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request details.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetFromApiGatewayApiResponseDetails": { + "type": "structure", + "members": { + "ApiDescription": { + "target": "com.amazonaws.dataexchange#ApiDescription", + "traits": { + "smithy.api#documentation": "The API description.
" + } + }, + "ApiId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API ID.
", + "smithy.api#required": {} + } + }, + "ApiKey": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API key.
" + } + }, + "ApiName": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API name.
", + "smithy.api#required": {} + } + }, + "ApiSpecificationMd5Hash": { + "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "traits": { + "smithy.api#documentation": "The Base64-encoded Md5 hash for the API asset, used to ensure the integrity of the API\n at that location.
", + "smithy.api#required": {} + } + }, + "ApiSpecificationUploadUrl": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The upload URL of the API specification.
", + "smithy.api#required": {} + } + }, + "ApiSpecificationUploadUrlExpiresAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the upload URL expires, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID.
", + "smithy.api#required": {} + } + }, + "ProtocolType": { + "target": "com.amazonaws.dataexchange#ProtocolType", + "traits": { + "smithy.api#documentation": "The protocol type.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID.
", + "smithy.api#required": {} + } + }, + "Stage": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The API stage.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The response details.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetFromSignedUrlJobErrorDetails": { + "type": "structure", + "members": { + "AssetName": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "Details about the job error.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the job error.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetFromSignedUrlRequestDetails": { + "type": "structure", + "members": { + "AssetName": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "Md5Hash": { + "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "traits": { + "smithy.api#documentation": "The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at\n that location.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import request.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetFromSignedUrlResponseDetails": { + "type": "structure", + "members": { + "AssetName": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name for the asset associated with this import job.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "Md5Hash": { + "target": "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093", + "traits": { + "smithy.api#documentation": "The Base64-encoded Md5 hash for the asset, used to ensure the integrity of the file at\n that location.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import response.
", + "smithy.api#required": {} + } + }, + "SignedUrl": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The signed URL.
" + } + }, + "SignedUrlExpiresAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The time and date at which the signed URL expires, in ISO 8601 format.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The details in the response for an import request, including the signed URL and other\n information.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromLakeFormationTagPolicyRequestDetails": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.dataexchange#AwsAccountId", + "traits": { + "smithy.api#documentation": "The identifier for the AWS Glue Data Catalog.
", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.dataexchange#DatabaseLFTagPolicyAndPermissions", + "traits": { + "smithy.api#documentation": "A structure for the database object.
" + } + }, + "Table": { + "target": "com.amazonaws.dataexchange#TableLFTagPolicyAndPermissions", + "traits": { + "smithy.api#documentation": "A structure for the table object.
" + } + }, + "RoleArn": { + "target": "com.amazonaws.dataexchange#RoleArn", + "traits": { + "smithy.api#documentation": "The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions of subscribers to AWS Lake Formation data permissions.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import job.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the assets imported from an AWS Lake Formation tag policy request.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromLakeFormationTagPolicyResponseDetails": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.dataexchange#AwsAccountId", + "traits": { + "smithy.api#documentation": "The identifier for the AWS Glue Data Catalog.
", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.dataexchange#DatabaseLFTagPolicyAndPermissions", + "traits": { + "smithy.api#documentation": "A structure for the database object.
" + } + }, + "Table": { + "target": "com.amazonaws.dataexchange#TableLFTagPolicyAndPermissions", + "traits": { + "smithy.api#documentation": "A structure for the table object.
" + } + }, + "RoleArn": { + "target": "com.amazonaws.dataexchange#RoleArn", + "traits": { + "smithy.api#documentation": "The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions to AWS Lake Formation data permissions.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import job.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details from an import AWS Lake Formation tag policy job response.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromRedshiftDataSharesRequestDetails": { + "type": "structure", + "members": { + "AssetSources": { + "target": "com.amazonaws.dataexchange#ListOfRedshiftDataShareAssetSourceEntry", + "traits": { + "smithy.api#documentation": "A list of Amazon Redshift datashare assets.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import job.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details from an import from Amazon Redshift datashare request.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromRedshiftDataSharesResponseDetails": { + "type": "structure", + "members": { + "AssetSources": { + "target": "com.amazonaws.dataexchange#ListOfRedshiftDataShareAssetSourceEntry", + "traits": { + "smithy.api#documentation": "A list of Amazon Redshift datashare asset sources.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import job.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details from an import from Amazon Redshift datashare response.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromS3RequestDetails": { + "type": "structure", + "members": { + "AssetSources": { + "target": "com.amazonaws.dataexchange#ListOfAssetSourceEntry", + "traits": { + "smithy.api#documentation": "Is a list of Amazon S3 bucket and object key pairs.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import request.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job.
" + } + }, + "com.amazonaws.dataexchange#ImportAssetsFromS3ResponseDetails": { + "type": "structure", + "members": { + "AssetSources": { + "target": "com.amazonaws.dataexchange#ListOfAssetSourceEntry", + "traits": { + "smithy.api#documentation": "Is a list of Amazon S3 bucket and object key pairs.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this import job.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this import response.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details from an import from Amazon S3 response.
" + } + }, + "com.amazonaws.dataexchange#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The message identifying the service exception that occurred.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "An exception occurred with the service.
", + "smithy.api#error": "server", + "smithy.api#httpError": 500 + } + }, + "com.amazonaws.dataexchange#JobEntry": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the job.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was created, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.dataexchange#ResponseDetails", + "traits": { + "smithy.api#documentation": "Details of the operation to be performed by the job, such as export destination details\n or import source details.
", + "smithy.api#required": {} + } + }, + "Errors": { + "target": "com.amazonaws.dataexchange#ListOfJobError", + "traits": { + "smithy.api#documentation": "Errors for jobs.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the job.
", + "smithy.api#required": {} + } + }, + "State": { + "target": "com.amazonaws.dataexchange#State", + "traits": { + "smithy.api#documentation": "The state of the job.
", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#Type", + "traits": { + "smithy.api#documentation": "The job type.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the job was last updated, in ISO 8601 format.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "AWS Data Exchange Jobs are asynchronous import or export operations used to create or\n copy assets. A data set owner can both import and export as they see fit. Someone with an\n entitlement to a data set can only export. Jobs are deleted 90 days after they are\n created.
" + } + }, + "com.amazonaws.dataexchange#JobError": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.dataexchange#Code", + "traits": { + "smithy.api#documentation": "The code for the job error.
", + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.dataexchange#Details", + "traits": { + "smithy.api#documentation": "The details about the job error.
" + } + }, + "LimitName": { + "target": "com.amazonaws.dataexchange#JobErrorLimitName", + "traits": { + "smithy.api#documentation": "The name of the limit that was reached.
" + } + }, + "LimitValue": { + "target": "com.amazonaws.dataexchange#__double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The value of the exceeded limit.
" + } + }, + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The message related to the job error.
", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the resource related to the error.
" + } + }, + "ResourceType": { + "target": "com.amazonaws.dataexchange#JobErrorResourceTypes", + "traits": { + "smithy.api#documentation": "The type of resource related to the error.
" + } + } + }, + "traits": { + "smithy.api#documentation": "An error that occurred with the job request.
" + } + }, + "com.amazonaws.dataexchange#JobErrorLimitName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Assets per revision", + "name": "Assets_per_revision" + }, + { + "value": "Asset size in GB", + "name": "Asset_size_in_GB" + }, + { + "value": "Amazon Redshift datashare assets per revision", + "name": "Amazon_Redshift_datashare_assets_per_revision" + }, + { + "value": "AWS Lake Formation data permission assets per revision", + "name": "AWS_Lake_Formation_data_permission_assets_per_revision" + }, + { + "value": "Amazon S3 data access assets per revision", + "name": "Amazon_S3_data_access_assets_per_revision" + } + ] + } + }, + "com.amazonaws.dataexchange#JobErrorResourceTypes": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "REVISION", + "name": "REVISION" + }, + { + "value": "ASSET", + "name": "ASSET" + }, + { + "value": "DATA_SET", + "name": "DATA_SET" + } + ] + } + }, + "com.amazonaws.dataexchange#KmsKeyArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, + "com.amazonaws.dataexchange#KmsKeyToGrant": { + "type": "structure", + "members": { + "KmsKeyArn": { + "target": "com.amazonaws.dataexchange#KmsKeyArn", + "traits": { + "smithy.api#documentation": "The AWS KMS CMK (Key Management System Customer Managed Key) used to encrypt S3 objects\n in the shared S3 Bucket. AWS Data exchange will create a KMS grant for each subscriber to\n allow them to access and decrypt their entitled data that is encrypted using this KMS key\n specified.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the shared S3\n objects.
" + } + }, + "com.amazonaws.dataexchange#LFPermission": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DESCRIBE", + "name": "DESCRIBE" + }, + { + "value": "SELECT", + "name": "SELECT" + } + ] + } + }, + "com.amazonaws.dataexchange#LFResourceDetails": { + "type": "structure", + "members": { + "Database": { + "target": "com.amazonaws.dataexchange#DatabaseLFTagPolicy", + "traits": { + "smithy.api#documentation": "Details about the database resource included in the AWS Lake Formation data\n permission.
" + } + }, + "Table": { + "target": "com.amazonaws.dataexchange#TableLFTagPolicy", + "traits": { + "smithy.api#documentation": "Details about the table resource included in the AWS Lake Formation data\n permission.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the AWS Lake Formation resource (Table or Database) included in the AWS\n Lake Formation data permission.
" + } + }, + "com.amazonaws.dataexchange#LFResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "TABLE", + "name": "TABLE" + }, + { + "value": "DATABASE", + "name": "DATABASE" + } + ] + } + }, + "com.amazonaws.dataexchange#LFTag": { + "type": "structure", + "members": { + "TagKey": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The key name for the LF-tag.
", + "smithy.api#required": {} + } + }, + "TagValues": { + "target": "com.amazonaws.dataexchange#ListOfLFTagValues", + "traits": { + "smithy.api#documentation": "A list of LF-tag values.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "A structure that allows an LF-admin to grant permissions on certain conditions.
" + } + }, + "com.amazonaws.dataexchange#LFTagPolicyDetails": { + "type": "structure", + "members": { + "CatalogId": { + "target": "com.amazonaws.dataexchange#AwsAccountId", + "traits": { + "smithy.api#documentation": "The identifier for the AWS Glue Data Catalog.
", + "smithy.api#required": {} + } + }, + "ResourceType": { + "target": "com.amazonaws.dataexchange#LFResourceType", + "traits": { + "smithy.api#documentation": "The resource type for which the LF-tag policy applies.
", + "smithy.api#required": {} + } + }, + "ResourceDetails": { + "target": "com.amazonaws.dataexchange#LFResourceDetails", + "traits": { + "smithy.api#documentation": "Details for the Lake Formation Resources included in the LF-tag policy.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the LF-tag policy.
" + } + }, + "com.amazonaws.dataexchange#LakeFormationDataPermissionAsset": { + "type": "structure", + "members": { + "LakeFormationDataPermissionDetails": { + "target": "com.amazonaws.dataexchange#LakeFormationDataPermissionDetails", + "traits": { + "smithy.api#documentation": "Details about the AWS Lake Formation data permission.
", + "smithy.api#required": {} + } + }, + "LakeFormationDataPermissionType": { + "target": "com.amazonaws.dataexchange#LakeFormationDataPermissionType", + "traits": { + "smithy.api#documentation": "The data permission type.
", + "smithy.api#required": {} + } + }, + "Permissions": { + "target": "com.amazonaws.dataexchange#ListOfLFPermissions", + "traits": { + "smithy.api#documentation": "The permissions granted to the subscribers on the resource.
", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.dataexchange#RoleArn", + "traits": { + "smithy.api#documentation": "The IAM role's ARN that allows AWS Data Exchange to assume the role and grant and revoke\n permissions to AWS Lake Formation data permissions.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The AWS Lake Formation data permission asset.
" + } + }, + "com.amazonaws.dataexchange#LakeFormationDataPermissionDetails": { + "type": "structure", + "members": { + "LFTagPolicy": { + "target": "com.amazonaws.dataexchange#LFTagPolicyDetails", + "traits": { + "smithy.api#documentation": "Details about the LF-tag policy.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the AWS Lake Formation data permission.
" + } + }, + "com.amazonaws.dataexchange#LakeFormationDataPermissionType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "LFTagPolicy", + "name": "LFTagPolicy" + } + ] + } + }, + "com.amazonaws.dataexchange#LakeFormationTagPolicyDetails": { + "type": "structure", + "members": { + "Database": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The\n underlying Glue database that the notification is referring to.
" + } + }, + "Table": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The\n underlying Glue table that the notification is referring to.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to the affected scope in this LF data set.
" + } + }, + "com.amazonaws.dataexchange#LimitName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Products per account", + "name": "Products_per_account" + }, + { + "value": "Data sets per account", + "name": "Data_sets_per_account" + }, + { + "value": "Data sets per product", + "name": "Data_sets_per_product" + }, + { + "value": "Revisions per data set", + "name": "Revisions_per_data_set" + }, + { + "value": "Assets per revision", + "name": "Assets_per_revision" + }, + { + "value": "Assets per import job from Amazon S3", + "name": "Assets_per_import_job_from_Amazon_S3" + }, + { + "value": "Asset per export job from Amazon S3", + "name": "Asset_per_export_job_from_Amazon_S3" + }, + { + "value": "Asset size in GB", + "name": "Asset_size_in_GB" + }, + { + "value": "Concurrent in progress jobs to export assets to Amazon S3", + "name": "Concurrent_in_progress_jobs_to_export_assets_to_Amazon_S3" + }, + { + "value": "Concurrent in progress jobs to export assets to a signed URL", + "name": "Concurrent_in_progress_jobs_to_export_assets_to_a_signed_URL" + }, + { + "value": "Concurrent in progress jobs to import assets from Amazon S3", + "name": "Concurrent_in_progress_jobs_to_import_assets_from_Amazon_S3" + }, + { + "value": "Concurrent in progress jobs to import assets from a signed URL", + "name": "Concurrent_in_progress_jobs_to_import_assets_from_a_signed_URL" + }, + { + "value": "Concurrent in progress jobs to export revisions to Amazon S3", + "name": "Concurrent_in_progress_jobs_to_export_revisions_to_Amazon_S3" + }, + { + "value": "Event actions per account", + "name": "Event_actions_per_account" + }, + { + "value": "Auto export event actions per data set", + "name": "Auto_export_event_actions_per_data_set" + }, + { + "value": "Amazon Redshift datashare assets per import job from Redshift", + "name": "Amazon_Redshift_datashare_assets_per_import_job_from_Redshift" + }, + { + "value": "Concurrent in progress jobs to import assets from Amazon Redshift datashares", + "name": "Concurrent_in_progress_jobs_to_import_assets_from_Amazon_Redshift_datashares" + }, + { + "value": "Revisions per Amazon Redshift datashare data set", + "name": "Revisions_per_Amazon_Redshift_datashare_data_set" + }, + { + "value": "Amazon Redshift datashare assets per revision", + "name": "Amazon_Redshift_datashare_assets_per_revision" + }, + { + "value": "Concurrent in progress jobs to import assets from an API Gateway API", + "name": "Concurrent_in_progress_jobs_to_import_assets_from_an_API_Gateway_API" + }, + { + "value": "Amazon API Gateway API assets per revision", + "name": "Amazon_API_Gateway_API_assets_per_revision" + }, + { + "value": "Revisions per Amazon API Gateway API data set", + "name": "Revisions_per_Amazon_API_Gateway_API_data_set" + }, + { + "value": "Concurrent in progress jobs to import assets from an AWS Lake Formation tag policy", + "name": "Concurrent_in_progress_jobs_to_import_assets_from_an_AWS_Lake_Formation_tag_policy" + }, + { + "value": "AWS Lake Formation data permission assets per revision", + "name": "AWS_Lake_Formation_data_permission_assets_per_revision" + }, + { + "value": "Revisions per AWS Lake Formation data permission data set", + "name": "Revisions_per_AWS_Lake_Formation_data_permission_data_set" + }, + { + "value": "Revisions per Amazon S3 data access data set", + "name": "Revisions_per_Amazon_S3_data_access_data_set" + }, + { + "value": "Amazon S3 data access assets per revision", + "name": "Amazon_S3_data_access_assets_per_revision" + }, + { + "value": "Concurrent in progress jobs to create Amazon S3 data access assets from S3 buckets", + "name": "Concurrent_in_progress_jobs_to_create_Amazon_S3_data_access_assets_from_S3_buckets" + }, + { + "value": "Active and pending data grants", + "name": "Active_and_pending_data_grants" + }, + { + "value": "Pending data grants per consumer", + "name": "Pending_data_grants_per_consumer" + } + ] + } + }, + "com.amazonaws.dataexchange#ListDataGrants": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListDataGrantsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListDataGrantsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about all data grants.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-grants", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataGrantSummaries", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListDataGrantsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "The maximum number of results to be included in the next page.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The pagination token used to retrieve the next page of results for this\n operation.
", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#ListDataGrantsResponse": { + "type": "structure", + "members": { + "DataGrantSummaries": { + "target": "com.amazonaws.dataexchange#ListOfDataGrantSummaryEntry", + "traits": { + "smithy.api#documentation": "An object that contains a list of data grant information.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The pagination token used to retrieve the next page of results for this\n operation.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#ListDataSetRevisions": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListDataSetRevisionsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListDataSetRevisionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists a data set's revisions sorted by CreatedAt in descending\n order.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets/{DataSetId}/revisions", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Revisions", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListDataSetRevisionsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum number of results returned by a single call.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.dataexchange#ListDataSetRevisionsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
" + } + }, + "Revisions": { + "target": "com.amazonaws.dataexchange#ListOfRevisionEntry", + "traits": { + "smithy.api#documentation": "The asset objects listed by the request.
" + } + } + } + }, + "com.amazonaws.dataexchange#ListDataSets": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListDataSetsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListDataSetsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists your data sets. When listing by origin OWNED, results are sorted by\n CreatedAt in descending order. When listing by origin ENTITLED, there is no order.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataSets", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListDataSetsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum number of results returned by a single call.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
", + "smithy.api#httpQuery": "nextToken" + } + }, + "Origin": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).
", + "smithy.api#httpQuery": "origin" + } + } + } + }, + "com.amazonaws.dataexchange#ListDataSetsResponse": { + "type": "structure", + "members": { + "DataSets": { + "target": "com.amazonaws.dataexchange#ListOfDataSetEntry", + "traits": { + "smithy.api#documentation": "The data set objects listed by the request.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
" + } + } + } + }, + "com.amazonaws.dataexchange#ListEventActions": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListEventActionsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListEventActionsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists your event actions.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/event-actions", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "EventActions", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListEventActionsRequest": { + "type": "structure", + "members": { + "EventSourceId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the event source.
", + "smithy.api#httpQuery": "eventSourceId" + } + }, + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum number of results returned by a single call.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.dataexchange#ListEventActionsResponse": { + "type": "structure", + "members": { + "EventActions": { + "target": "com.amazonaws.dataexchange#ListOfEventActionEntry", + "traits": { + "smithy.api#documentation": "The event action objects listed by the request.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
" + } + } + } + }, + "com.amazonaws.dataexchange#ListJobs": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListJobsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListJobsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists your jobs sorted by CreatedAt in descending order.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/jobs", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Jobs", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListJobsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpQuery": "dataSetId" + } + }, + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum number of results returned by a single call.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
", + "smithy.api#httpQuery": "nextToken" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpQuery": "revisionId" + } + } + } + }, + "com.amazonaws.dataexchange#ListJobsResponse": { + "type": "structure", + "members": { + "Jobs": { + "target": "com.amazonaws.dataexchange#ListOfJobEntry", + "traits": { + "smithy.api#documentation": "The jobs listed by the request.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
" + } + } + } + }, + "com.amazonaws.dataexchange#ListOfAssetDestinationEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#AssetDestinationEntry" + } + }, + "com.amazonaws.dataexchange#ListOfAssetEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#AssetEntry" + } + }, + "com.amazonaws.dataexchange#ListOfAssetSourceEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#AssetSourceEntry" + } + }, + "com.amazonaws.dataexchange#ListOfDataGrantSummaryEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#DataGrantSummaryEntry" + } + }, + "com.amazonaws.dataexchange#ListOfDataSetEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#DataSetEntry" + } + }, + "com.amazonaws.dataexchange#ListOfDatabaseLFTagPolicyPermissions": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#DatabaseLFTagPolicyPermission" + } + }, + "com.amazonaws.dataexchange#ListOfEventActionEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#EventActionEntry" + } + }, + "com.amazonaws.dataexchange#ListOfJobEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#JobEntry" + } + }, + "com.amazonaws.dataexchange#ListOfJobError": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#JobError" + } + }, + "com.amazonaws.dataexchange#ListOfKmsKeysToGrant": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#KmsKeyToGrant" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 10 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.dataexchange#ListOfLFPermissions": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#LFPermission" + } + }, + "com.amazonaws.dataexchange#ListOfLFTagValues": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.dataexchange#ListOfLFTags": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#LFTag" + } + }, + "com.amazonaws.dataexchange#ListOfLakeFormationTagPolicies": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#LakeFormationTagPolicyDetails" + } + }, + "com.amazonaws.dataexchange#ListOfReceivedDataGrantSummariesEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#ReceivedDataGrantSummariesEntry" + } + }, + "com.amazonaws.dataexchange#ListOfRedshiftDataShareAssetSourceEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#RedshiftDataShareAssetSourceEntry" + } + }, + "com.amazonaws.dataexchange#ListOfRedshiftDataShares": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#RedshiftDataShareDetails" + } + }, + "com.amazonaws.dataexchange#ListOfRevisionDestinationEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#RevisionDestinationEntry" + } + }, + "com.amazonaws.dataexchange#ListOfRevisionEntry": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#RevisionEntry" + } + }, + "com.amazonaws.dataexchange#ListOfS3DataAccesses": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#S3DataAccessDetails" + } + }, + "com.amazonaws.dataexchange#ListOfSchemaChangeDetails": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#SchemaChangeDetails" + } + }, + "com.amazonaws.dataexchange#ListOfTableTagPolicyLFPermissions": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#TableTagPolicyLFPermission" + } + }, + "com.amazonaws.dataexchange#ListOf__string": { + "type": "list", + "member": { + "target": "com.amazonaws.dataexchange#__string" + } + }, + "com.amazonaws.dataexchange#ListReceivedDataGrants": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrantsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListReceivedDataGrantsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation returns information about all received data grants.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/received-data-grants", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "DataGrantSummaries", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListReceivedDataGrantsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "The maximum number of results to be included in the next page.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The pagination token used to retrieve the next page of results for this\n operation.
", + "smithy.api#httpQuery": "nextToken" + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#AcceptanceStateFilterValues", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grants to list.
", + "smithy.api#httpQuery": "acceptanceState" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#ListReceivedDataGrantsResponse": { + "type": "structure", + "members": { + "DataGrantSummaries": { + "target": "com.amazonaws.dataexchange#ListOfReceivedDataGrantSummariesEntry", + "traits": { + "smithy.api#documentation": "An object that contains a list of received data grant information.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The pagination token used to retrieve the next page of results for this\n operation.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#ListRevisionAssets": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListRevisionAssetsRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListRevisionAssetsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists a revision's assets sorted alphabetically in descending\n order.
", + "smithy.api#http": { + "method": "GET", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Assets", + "pageSize": "MaxResults" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListRevisionAssetsRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.dataexchange#MaxResults", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum number of results returned by a single call.
", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
", + "smithy.api#httpQuery": "nextToken" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#ListRevisionAssetsResponse": { + "type": "structure", + "members": { + "Assets": { + "target": "com.amazonaws.dataexchange#ListOfAssetEntry", + "traits": { + "smithy.api#documentation": "The asset objects listed by the request.
" + } + }, + "NextToken": { + "target": "com.amazonaws.dataexchange#NextToken", + "traits": { + "smithy.api#documentation": "The token value retrieved from a previous call to access the next page of\n results.
" + } + } + } + }, + "com.amazonaws.dataexchange#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#ListTagsForResourceResponse" + }, + "traits": { + "smithy.api#documentation": "This operation lists the tags on the resource.
", + "smithy.api#http": { + "method": "GET", + "uri": "/tags/{ResourceArn}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dataexchange#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "A label that consists of a customer-defined key and an optional value.
", + "smithy.api#jsonName": "tags" + } + } + } + }, + "com.amazonaws.dataexchange#MapOf__string": { + "type": "map", + "key": { + "target": "com.amazonaws.dataexchange#__string" + }, + "value": { + "target": "com.amazonaws.dataexchange#__string" + } + }, + "com.amazonaws.dataexchange#MaxResults": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.dataexchange#Name": { + "type": "string" + }, + "com.amazonaws.dataexchange#NextToken": { + "type": "string" + }, + "com.amazonaws.dataexchange#NotificationDetails": { + "type": "structure", + "members": { + "DataUpdate": { + "target": "com.amazonaws.dataexchange#DataUpdateRequestDetails", + "traits": { + "smithy.api#documentation": "Extra\n details specific to a data update type notification.
" + } + }, + "Deprecation": { + "target": "com.amazonaws.dataexchange#DeprecationRequestDetails", + "traits": { + "smithy.api#documentation": "Extra\n details specific to a deprecation type notification.
" + } + }, + "SchemaChange": { + "target": "com.amazonaws.dataexchange#SchemaChangeRequestDetails", + "traits": { + "smithy.api#documentation": "Extra\n details specific to a schema change type notification.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to this notification.
" + } + }, + "com.amazonaws.dataexchange#NotificationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DATA_DELAY", + "name": "DATA_DELAY" + }, + { + "value": "DATA_UPDATE", + "name": "DATA_UPDATE" + }, + { + "value": "DEPRECATION", + "name": "DEPRECATION" + }, + { + "value": "SCHEMA_CHANGE", + "name": "SCHEMA_CHANGE" + } + ] + } + }, + "com.amazonaws.dataexchange#Origin": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "OWNED", + "name": "OWNED" + }, + { + "value": "ENTITLED", + "name": "ENTITLED" + } + ] + } + }, + "com.amazonaws.dataexchange#OriginDetails": { + "type": "structure", + "members": { + "ProductId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The product ID of the origin of the data set.
" + } + }, + "DataGrantId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the origin of the data set.
" + } + }, + "com.amazonaws.dataexchange#ProtocolType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "REST", + "name": "REST" + } + ] + } + }, + "com.amazonaws.dataexchange#ReceivedDataGrantSummariesEntry": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#DataGrantName", + "traits": { + "smithy.api#documentation": "The name of the data grant.
", + "smithy.api#required": {} + } + }, + "SenderPrincipal": { + "target": "com.amazonaws.dataexchange#SenderPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant sender.
", + "smithy.api#required": {} + } + }, + "ReceiverPrincipal": { + "target": "com.amazonaws.dataexchange#ReceiverPrincipal", + "traits": { + "smithy.api#documentation": "The Amazon Web Services account ID of the data grant receiver.
", + "smithy.api#required": {} + } + }, + "AcceptanceState": { + "target": "com.amazonaws.dataexchange#DataGrantAcceptanceState", + "traits": { + "smithy.api#documentation": "The acceptance state of the data grant.
", + "smithy.api#required": {} + } + }, + "AcceptedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was accepted.
" + } + }, + "EndsAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when access to the associated data set ends.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data set associated to the data grant.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The ID of the data grant.
", + "smithy.api#required": {} + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the data grant.
", + "smithy.api#required": {} + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was created.
", + "smithy.api#required": {} + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The timestamp of when the data grant was last updated.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Information about a received data grant.
" + } + }, + "com.amazonaws.dataexchange#ReceiverPrincipal": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" + } + }, + "com.amazonaws.dataexchange#RedshiftDataShareAsset": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the datashare asset.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The Amazon Redshift datashare asset.
" + } + }, + "com.amazonaws.dataexchange#RedshiftDataShareAssetSourceEntry": { + "type": "structure", + "members": { + "DataShareArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon Resource Name (ARN) of the datashare asset.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The source of the Amazon Redshift datashare asset.
" + } + }, + "com.amazonaws.dataexchange#RedshiftDataShareDetails": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The\n ARN of the underlying Redshift data share that is being affected by this\n notification.
", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The\n database name in the Redshift data share that is being affected by this\n notification.
", + "smithy.api#required": {} + } + }, + "Function": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A\n function name in the Redshift database that is being affected by this notification.
" + } + }, + "Table": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A\n table name in the Redshift database that is being affected by this notification.
" + } + }, + "Schema": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A\n schema name in the Redshift database that is being affected by this notification.
" + } + }, + "View": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A\n view name in the Redshift database that is being affected by this notification.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to the affected scope in this Redshift data set.
" + } + }, + "com.amazonaws.dataexchange#RequestDetails": { + "type": "structure", + "members": { + "ExportAssetToSignedUrl": { + "target": "com.amazonaws.dataexchange#ExportAssetToSignedUrlRequestDetails", + "traits": { + "smithy.api#documentation": "Details about the export to signed URL request.
" + } + }, + "ExportAssetsToS3": { + "target": "com.amazonaws.dataexchange#ExportAssetsToS3RequestDetails", + "traits": { + "smithy.api#documentation": "Details about the export to Amazon S3 request.
" + } + }, + "ExportRevisionsToS3": { + "target": "com.amazonaws.dataexchange#ExportRevisionsToS3RequestDetails", + "traits": { + "smithy.api#documentation": "Details about the export to Amazon S3 request.
" + } + }, + "ImportAssetFromSignedUrl": { + "target": "com.amazonaws.dataexchange#ImportAssetFromSignedUrlRequestDetails", + "traits": { + "smithy.api#documentation": "Details about the import from Amazon S3 request.
" + } + }, + "ImportAssetsFromS3": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromS3RequestDetails", + "traits": { + "smithy.api#documentation": "Details about the import asset from API Gateway API request.
" + } + }, + "ImportAssetsFromRedshiftDataShares": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromRedshiftDataSharesRequestDetails", + "traits": { + "smithy.api#documentation": "Details from an import from Amazon Redshift datashare request.
" + } + }, + "ImportAssetFromApiGatewayApi": { + "target": "com.amazonaws.dataexchange#ImportAssetFromApiGatewayApiRequestDetails", + "traits": { + "smithy.api#documentation": "Details about the import from signed URL request.
" + } + }, + "CreateS3DataAccessFromS3Bucket": { + "target": "com.amazonaws.dataexchange#CreateS3DataAccessFromS3BucketRequestDetails", + "traits": { + "smithy.api#documentation": "Details of the request to create S3 data access from the Amazon S3 bucket.
" + } + }, + "ImportAssetsFromLakeFormationTagPolicy": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromLakeFormationTagPolicyRequestDetails", + "traits": { + "smithy.api#documentation": "Request details for the ImportAssetsFromLakeFormationTagPolicy job.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The details for the request.
" + } + }, + "com.amazonaws.dataexchange#ResourceNotFoundException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The resource couldn't be found.
", + "smithy.api#required": {} + } + }, + "ResourceId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the resource that couldn't be found.
" + } + }, + "ResourceType": { + "target": "com.amazonaws.dataexchange#ResourceType", + "traits": { + "smithy.api#documentation": "The type of resource that couldn't be found.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The resource couldn't be found.
", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.dataexchange#ResourceType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DATA_SET", + "name": "DATA_SET" + }, + { + "value": "REVISION", + "name": "REVISION" + }, + { + "value": "ASSET", + "name": "ASSET" + }, + { + "value": "JOB", + "name": "JOB" + }, + { + "value": "EVENT_ACTION", + "name": "EVENT_ACTION" + }, + { + "value": "DATA_GRANT", + "name": "DATA_GRANT" + } + ] + } + }, + "com.amazonaws.dataexchange#ResponseDetails": { + "type": "structure", + "members": { + "ExportAssetToSignedUrl": { + "target": "com.amazonaws.dataexchange#ExportAssetToSignedUrlResponseDetails", + "traits": { + "smithy.api#documentation": "Details for the export to signed URL response.
" + } + }, + "ExportAssetsToS3": { + "target": "com.amazonaws.dataexchange#ExportAssetsToS3ResponseDetails", + "traits": { + "smithy.api#documentation": "Details for the export to Amazon S3 response.
" + } + }, + "ExportRevisionsToS3": { + "target": "com.amazonaws.dataexchange#ExportRevisionsToS3ResponseDetails", + "traits": { + "smithy.api#documentation": "Details for the export revisions to Amazon S3 response.
" + } + }, + "ImportAssetFromSignedUrl": { + "target": "com.amazonaws.dataexchange#ImportAssetFromSignedUrlResponseDetails", + "traits": { + "smithy.api#documentation": "Details for the import from signed URL response.
" + } + }, + "ImportAssetsFromS3": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromS3ResponseDetails", + "traits": { + "smithy.api#documentation": "Details for the import from Amazon S3 response.
" + } + }, + "ImportAssetsFromRedshiftDataShares": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromRedshiftDataSharesResponseDetails", + "traits": { + "smithy.api#documentation": "Details from an import from Amazon Redshift datashare response.
" + } + }, + "ImportAssetFromApiGatewayApi": { + "target": "com.amazonaws.dataexchange#ImportAssetFromApiGatewayApiResponseDetails", + "traits": { + "smithy.api#documentation": "The response details.
" + } + }, + "CreateS3DataAccessFromS3Bucket": { + "target": "com.amazonaws.dataexchange#CreateS3DataAccessFromS3BucketResponseDetails", + "traits": { + "smithy.api#documentation": "Response details from the CreateS3DataAccessFromS3Bucket job.
" + } + }, + "ImportAssetsFromLakeFormationTagPolicy": { + "target": "com.amazonaws.dataexchange#ImportAssetsFromLakeFormationTagPolicyResponseDetails", + "traits": { + "smithy.api#documentation": "Response details from the ImportAssetsFromLakeFormationTagPolicy job.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details for the response.
" + } + }, + "com.amazonaws.dataexchange#RevisionDestinationEntry": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket that is the destination for the assets in the revision.
", + "smithy.api#required": {} + } + }, + "KeyPattern": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "A string representing the pattern for generated names of the individual assets in the\n revision. For more information about key patterns, see Key patterns when exporting revisions.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The destination where the assets in the revision will be exported.
" + } + }, + "com.amazonaws.dataexchange#RevisionEntry": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the revision.
", + "smithy.api#required": {} + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was created, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the data set revision.
", + "smithy.api#required": {} + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products. Finalized revisions can be published through the AWS Data Exchange console\n or the AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API\n action. When using the API, revisions are uniquely identified by their ARN.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
", + "smithy.api#required": {} + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was last updated, in ISO 8601 format.
", + "smithy.api#required": {} + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
" + } + }, + "Revoked": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A status indicating that subscribers' access to the revision was revoked.
" + } + }, + "RevokedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was revoked, in ISO 8601 format.
" + } + } + }, + "traits": { + "smithy.api#documentation": "A revision is a container for one or more assets.
" + } + }, + "com.amazonaws.dataexchange#RevisionPublished": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID of the published revision.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Information about the published revision.
" + } + }, + "com.amazonaws.dataexchange#RevokeRevision": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#RevokeRevisionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#RevokeRevisionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation revokes subscribers' access to a revision.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/revoke", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#RevokeRevisionRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#RevokeRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the revision.
" + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the data set revision.
" + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision\n are complete. After it's in this read-only state, you can publish the revision to your\n products. Finalized revisions can be published through the AWS Data Exchange console or the\n AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action.\n When using the API, revisions are uniquely identified by their ARN.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was last updated, in ISO 8601 format.
" + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
" + } + }, + "Revoked": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A status indicating that subscribers' access to the revision was revoked.
" + } + }, + "RevokedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was revoked, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#RoleArn": { + "type": "string", + "traits": { + "smithy.api#pattern": "^arn:aws:iam::(\\d{12}):role\\/.+$" + } + }, + "com.amazonaws.dataexchange#S3DataAccessAsset": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket hosting data to be shared in the S3 data access.
", + "smithy.api#required": {} + } + }, + "KeyPrefixes": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket used for hosting shared data in the Amazon S3 data access.
" + } + }, + "Keys": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "S3 keys made available using this asset.
" + } + }, + "S3AccessPointAlias": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The automatically-generated bucket-style alias for your Amazon S3 Access Point.\n Customers can access their entitled data using the S3 Access Point alias.
" + } + }, + "S3AccessPointArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The ARN for your Amazon S3 Access Point. Customers can also access their entitled data\n using the S3 Access Point ARN.
" + } + }, + "KmsKeysToGrant": { + "target": "com.amazonaws.dataexchange#ListOfKmsKeysToGrant", + "traits": { + "smithy.api#documentation": "List of AWS KMS CMKs (Key Management System Customer Managed Keys) and ARNs used to\n encrypt S3 objects being shared in this S3 Data Access asset. Providers must include all\n AWS KMS keys used to encrypt these shared S3 objects.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The Amazon S3 data access that is the asset.
" + } + }, + "com.amazonaws.dataexchange#S3DataAccessAssetSourceEntry": { + "type": "structure", + "members": { + "Bucket": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The Amazon S3 bucket used for hosting shared data in the Amazon S3 data access.
", + "smithy.api#required": {} + } + }, + "KeyPrefixes": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "Organizes Amazon S3 asset key prefixes stored in an Amazon S3 bucket.
" + } + }, + "Keys": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "The keys used to create the Amazon S3 data access.
" + } + }, + "KmsKeysToGrant": { + "target": "com.amazonaws.dataexchange#ListOfKmsKeysToGrant", + "traits": { + "smithy.api#documentation": "List of AWS KMS CMKs (Key Management System Customer Managed Keys) and ARNs used to\n encrypt S3 objects being shared in this S3 Data Access asset.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Source details for an Amazon S3 data access asset.
" + } + }, + "com.amazonaws.dataexchange#S3DataAccessDetails": { + "type": "structure", + "members": { + "KeyPrefixes": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "A\n list of the key prefixes affected by this\n notification. This\n can have up to 50 entries.
" + } + }, + "Keys": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "A\n list of the keys affected by this\n notification. This\n can have up to 50 entries.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to the affected scope in this S3 Data Access data set.
" + } + }, + "com.amazonaws.dataexchange#S3SnapshotAsset": { + "type": "structure", + "members": { + "Size": { + "target": "com.amazonaws.dataexchange#__doubleMin0", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The size of the Amazon S3 object that is the object.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The Amazon S3 object that is the asset.
" + } + }, + "com.amazonaws.dataexchange#SchemaChangeDetails": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Name\n of the changing\n field. This value\n can be up to 255 characters long.
", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#SchemaChangeType", + "traits": { + "smithy.api#documentation": "Is\n the field being added, removed, or modified?
", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Description\n of what's changing about this\n field. This value\n can be up to 512 characters long.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Object encompassing information about a schema change to a single, particular field, a\n notification can have up to 100 of these.
" + } + }, + "com.amazonaws.dataexchange#SchemaChangeRequestDetails": { + "type": "structure", + "members": { + "Changes": { + "target": "com.amazonaws.dataexchange#ListOfSchemaChangeDetails", + "traits": { + "smithy.api#documentation": "List\n of schema changes happening in the scope of this\n notification. This\n can have up to 100 entries.
" + } + }, + "SchemaChangeAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "A\n date in the future when the schema change is taking effect.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Extra details specific to this schema change type notification.
" + } + }, + "com.amazonaws.dataexchange#SchemaChangeType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ADD", + "name": "ADD" + }, + { + "value": "REMOVE", + "name": "REMOVE" + }, + { + "value": "MODIFY", + "name": "MODIFY" + } + ] + } + }, + "com.amazonaws.dataexchange#ScopeDetails": { + "type": "structure", + "members": { + "LakeFormationTagPolicies": { + "target": "com.amazonaws.dataexchange#ListOfLakeFormationTagPolicies", + "traits": { + "smithy.api#documentation": "Underlying\n LF resources that will be affected by this notification.
" + } + }, + "RedshiftDataShares": { + "target": "com.amazonaws.dataexchange#ListOfRedshiftDataShares", + "traits": { + "smithy.api#documentation": "Underlying\n Redshift resources that will be affected by this notification.
" + } + }, + "S3DataAccesses": { + "target": "com.amazonaws.dataexchange#ListOfS3DataAccesses", + "traits": { + "smithy.api#documentation": "Underlying\n S3 resources that will be affected by this notification.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the scope of the notifications such as the affected resources.
" + } + }, + "com.amazonaws.dataexchange#SendApiAsset": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#SendApiAssetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#SendApiAssetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation invokes an API Gateway API asset. The request is proxied to the\n provider’s API Gateway API.
", + "smithy.api#endpoint": { + "hostPrefix": "api-fulfill." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/v1", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#SendApiAssetRequest": { + "type": "structure", + "members": { + "Body": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The request body.
", + "smithy.api#httpPayload": {} + } + }, + "QueryStringParameters": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "Attach query string parameters to the end of the URI (for example,\n /v1/examplePath?exampleParam=exampleValue).
", + "smithy.api#httpQueryParams": {} + } + }, + "AssetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Asset ID value for the API request.
", + "smithy.api#httpHeader": "x-amzn-dataexchange-asset-id", + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Data set ID value for the API request.
", + "smithy.api#httpHeader": "x-amzn-dataexchange-data-set-id", + "smithy.api#required": {} + } + }, + "RequestHeaders": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "Any header value prefixed with x-amzn-dataexchange-header- will have that stripped\n before sending the Asset API request. Use this when you want to override a header that AWS\n Data Exchange uses. Alternatively, you can use the header without a prefix to the HTTP\n request.
", + "smithy.api#httpPrefixHeaders": "x-amzn-dataexchange-header-" + } + }, + "Method": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "HTTP method value for the API request. Alternatively, you can use the appropriate verb\n in your request.
", + "smithy.api#httpHeader": "x-amzn-dataexchange-http-method" + } + }, + "Path": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "URI path value for the API request. Alternatively, you can set the URI path directly by\n invoking /v1/{pathValue}.
", + "smithy.api#httpHeader": "x-amzn-dataexchange-path" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Revision ID value for the API request.
", + "smithy.api#httpHeader": "x-amzn-dataexchange-revision-id", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#SendApiAssetResponse": { + "type": "structure", + "members": { + "Body": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The response body from the underlying API tracked by the API asset.
", + "smithy.api#httpPayload": {} + } + }, + "ResponseHeaders": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "The response headers from the underlying API tracked by the API asset.
", + "smithy.api#httpPrefixHeaders": "" + } + } + } + }, + "com.amazonaws.dataexchange#SendDataSetNotification": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#SendDataSetNotificationRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#SendDataSetNotificationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "The type of event associated with the data set.
", + "smithy.api#http": { + "method": "POST", + "uri": "/v1/data-sets/{DataSetId}/notification", + "code": 202 + } + } + }, + "com.amazonaws.dataexchange#SendDataSetNotificationRequest": { + "type": "structure", + "members": { + "Scope": { + "target": "com.amazonaws.dataexchange#ScopeDetails", + "traits": { + "smithy.api#documentation": "Affected\n scope of this notification such as the underlying resources affected by the notification\n event.
" + } + }, + "ClientToken": { + "target": "com.amazonaws.dataexchange#ClientToken", + "traits": { + "smithy.api#documentation": "Idempotency\n key for the notification, this key allows us to deduplicate notifications that are sent in\n quick succession erroneously.
", + "smithy.api#idempotencyToken": {} + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max4096", + "traits": { + "smithy.api#documentation": "Free-form\n text field for providers to add information about their notifications.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "Affected\n data set of the notification.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.dataexchange#NotificationDetails", + "traits": { + "smithy.api#documentation": "Extra\n details specific to this notification type.
" + } + }, + "Type": { + "target": "com.amazonaws.dataexchange#NotificationType", + "traits": { + "smithy.api#documentation": "The\n type of the notification. Describing the kind of event the notification is alerting you\n to.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dataexchange#SendDataSetNotificationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.dataexchange#SenderPrincipal": { + "type": "string", + "traits": { + "smithy.api#pattern": "^\\d{12}$" + } + }, + "com.amazonaws.dataexchange#ServerSideEncryptionTypes": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "aws:kms", + "name": "aws_kms" + }, + { + "value": "AES256", + "name": "AES256" + } + ] + } + }, + "com.amazonaws.dataexchange#ServiceLimitExceededException": { + "type": "structure", + "members": { + "LimitName": { + "target": "com.amazonaws.dataexchange#LimitName", + "traits": { + "smithy.api#documentation": "The name of the limit that was reached.
" + } + }, + "LimitValue": { + "target": "com.amazonaws.dataexchange#__double", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The value of the exceeded limit.
" + } + }, + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The request has exceeded the quotas imposed by the service.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request has exceeded the quotas imposed by the service.
", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.dataexchange#StartJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#StartJobRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#StartJobResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation starts a job.
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/jobs/{JobId}", + "code": 202 + } + } + }, + "com.amazonaws.dataexchange#StartJobRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a job.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#StartJobResponse": { + "type": "structure", + "members": {} + }, + "com.amazonaws.dataexchange#State": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WAITING", + "name": "WAITING" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "ERROR", + "name": "ERROR" + }, + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "CANCELLED", + "name": "CANCELLED" + }, + { + "value": "TIMED_OUT", + "name": "TIMED_OUT" + } + ] + } + }, + "com.amazonaws.dataexchange#TableLFTagPolicy": { + "type": "structure", + "members": { + "Expression": { + "target": "com.amazonaws.dataexchange#ListOfLFTags", + "traits": { + "smithy.api#documentation": "A list of LF-tag conditions that apply to table resources.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The LF-tag policy for a table resource.
" + } + }, + "com.amazonaws.dataexchange#TableLFTagPolicyAndPermissions": { + "type": "structure", + "members": { + "Expression": { + "target": "com.amazonaws.dataexchange#ListOfLFTags", + "traits": { + "smithy.api#documentation": "A list of LF-tag conditions that apply to table resources.
", + "smithy.api#required": {} + } + }, + "Permissions": { + "target": "com.amazonaws.dataexchange#ListOfTableTagPolicyLFPermissions", + "traits": { + "smithy.api#documentation": "The permissions granted to subscribers on table resources.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The LF-tag policy and permissions that apply to table resources.
" + } + }, + "com.amazonaws.dataexchange#TableTagPolicyLFPermission": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DESCRIBE", + "name": "DESCRIBE" + }, + { + "value": "SELECT", + "name": "SELECT" + } + ] + } + }, + "com.amazonaws.dataexchange#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#TagResourceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "This operation tags a resource.
", + "smithy.api#http": { + "method": "POST", + "uri": "/tags/{ResourceArn}", + "code": 204 + } + } + }, + "com.amazonaws.dataexchange#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.dataexchange#MapOf__string", + "traits": { + "smithy.api#documentation": "A label that consists of a customer-defined key and an optional value.
", + "smithy.api#jsonName": "tags", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The limit on the number of requests per second was exceeded.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The limit on the number of requests per second was exceeded.
", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, + "com.amazonaws.dataexchange#Timestamp": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, + "com.amazonaws.dataexchange#Type": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IMPORT_ASSETS_FROM_S3", + "name": "IMPORT_ASSETS_FROM_S3" + }, + { + "value": "IMPORT_ASSET_FROM_SIGNED_URL", + "name": "IMPORT_ASSET_FROM_SIGNED_URL" + }, + { + "value": "EXPORT_ASSETS_TO_S3", + "name": "EXPORT_ASSETS_TO_S3" + }, + { + "value": "EXPORT_ASSET_TO_SIGNED_URL", + "name": "EXPORT_ASSET_TO_SIGNED_URL" + }, + { + "value": "EXPORT_REVISIONS_TO_S3", + "name": "EXPORT_REVISIONS_TO_S3" + }, + { + "value": "IMPORT_ASSETS_FROM_REDSHIFT_DATA_SHARES", + "name": "IMPORT_ASSETS_FROM_REDSHIFT_DATA_SHARES" + }, + { + "value": "IMPORT_ASSET_FROM_API_GATEWAY_API", + "name": "IMPORT_ASSET_FROM_API_GATEWAY_API" + }, + { + "value": "CREATE_S3_DATA_ACCESS_FROM_S3_BUCKET", + "name": "CREATE_S3_DATA_ACCESS_FROM_S3_BUCKET" + }, + { + "value": "IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY", + "name": "IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY" + } + ] + } + }, + "com.amazonaws.dataexchange#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#UntagResourceRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "traits": { + "smithy.api#documentation": "This operation removes one or more tags from a resource.
", + "smithy.api#http": { + "method": "DELETE", + "uri": "/tags/{ResourceArn}", + "code": 204 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.dataexchange#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "An Amazon Resource Name (ARN) that uniquely identifies an AWS resource.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.dataexchange#ListOf__string", + "traits": { + "smithy.api#documentation": "The key tags.
", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#UpdateAsset": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#UpdateAssetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#UpdateAssetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation updates an asset.
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}/assets/{AssetId}", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#UpdateAssetRequest": { + "type": "structure", + "members": { + "AssetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for an asset.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s)\n included in the LF-tag policy\" or \"Table(s) included in LF-tag policy\" are used as the\n name.
", + "smithy.api#required": {} + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#UpdateAssetResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the asset.
" + } + }, + "AssetDetails": { + "target": "com.amazonaws.dataexchange#AssetDetails", + "traits": { + "smithy.api#documentation": "Details about the asset.
" + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with this asset.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the asset.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#AssetName", + "traits": { + "smithy.api#documentation": "The name of the asset. When importing from Amazon S3, the Amazon S3 object key is used\n as the asset name. When exporting to Amazon S3, the asset name is used as default target\n Amazon S3 object key. When importing from Amazon API Gateway API, the API name is used as\n the asset name. When importing from Amazon Redshift, the datashare name is used as the\n asset name. When importing from AWS Lake Formation, the static values of \"Database(s)\n included in the LF-tag policy\"- or \"Table(s) included in LF-tag policy\" are used as the\n asset name.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision associated with this asset.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The asset ID of the owned asset corresponding to the entitled asset being viewed. This\n parameter is returned when an asset owner is viewing the entitled copy of its owned\n asset.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the asset was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#UpdateDataSet": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#UpdateDataSetRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#UpdateDataSetResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation updates a data set.
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/data-sets/{DataSetId}", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#UpdateDataSetRequest": { + "type": "structure", + "members": { + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description for the data set.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
" + } + } + } + }, + "com.amazonaws.dataexchange#UpdateDataSetResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the data set.
" + } + }, + "AssetType": { + "target": "com.amazonaws.dataexchange#AssetType", + "traits": { + "smithy.api#documentation": "The type of asset that is added to a data set.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was created, in ISO 8601 format.
" + } + }, + "Description": { + "target": "com.amazonaws.dataexchange#Description", + "traits": { + "smithy.api#documentation": "The description for the data set.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set.
" + } + }, + "Name": { + "target": "com.amazonaws.dataexchange#Name", + "traits": { + "smithy.api#documentation": "The name of the data set.
" + } + }, + "Origin": { + "target": "com.amazonaws.dataexchange#Origin", + "traits": { + "smithy.api#documentation": "A property that defines the data set as OWNED by the account (for providers) or ENTITLED\n to the account (for subscribers).
" + } + }, + "OriginDetails": { + "target": "com.amazonaws.dataexchange#OriginDetails", + "traits": { + "smithy.api#documentation": "If the origin of this data set is ENTITLED, includes the details for the product on AWS\n Marketplace.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The data set ID of the owned data set corresponding to the entitled data set being\n viewed. This parameter is returned when a data set owner is viewing the entitled copy of\n its owned data set.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the data set was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#UpdateEventAction": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#UpdateEventActionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#UpdateEventActionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation updates the event action.
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/event-actions/{EventActionId}", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#UpdateEventActionRequest": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
" + } + }, + "EventActionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#UpdateEventActionResponse": { + "type": "structure", + "members": { + "Action": { + "target": "com.amazonaws.dataexchange#Action", + "traits": { + "smithy.api#documentation": "What occurs after a certain event.
" + } + }, + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the event action.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was created, in ISO 8601 format.
" + } + }, + "Event": { + "target": "com.amazonaws.dataexchange#Event", + "traits": { + "smithy.api#documentation": "What occurs to start an action.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the event action.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the event action was last updated, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#UpdateRevision": { + "type": "operation", + "input": { + "target": "com.amazonaws.dataexchange#UpdateRevisionRequest" + }, + "output": { + "target": "com.amazonaws.dataexchange#UpdateRevisionResponse" + }, + "errors": [ + { + "target": "com.amazonaws.dataexchange#AccessDeniedException" + }, + { + "target": "com.amazonaws.dataexchange#ConflictException" + }, + { + "target": "com.amazonaws.dataexchange#InternalServerException" + }, + { + "target": "com.amazonaws.dataexchange#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dataexchange#ThrottlingException" + }, + { + "target": "com.amazonaws.dataexchange#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "This operation updates a revision.
", + "smithy.api#http": { + "method": "PATCH", + "uri": "/v1/data-sets/{DataSetId}/revisions/{RevisionId}", + "code": 200 + } + } + }, + "com.amazonaws.dataexchange#UpdateRevisionRequest": { + "type": "structure", + "members": { + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a data set.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "Finalizing a revision tells AWS Data Exchange that your changes to the assets in the\n revision are complete. After it's in this read-only state, you can publish the revision to\n your products.
" + } + }, + "RevisionId": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The unique identifier for a revision.
", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.dataexchange#UpdateRevisionResponse": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.dataexchange#Arn", + "traits": { + "smithy.api#documentation": "The ARN for the revision.
" + } + }, + "Comment": { + "target": "com.amazonaws.dataexchange#__stringMin0Max16384", + "traits": { + "smithy.api#documentation": "An optional comment about the revision.
" + } + }, + "CreatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was created, in ISO 8601 format.
" + } + }, + "DataSetId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the data set associated with the data set revision.
" + } + }, + "Finalized": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "To publish a revision to a data set in a product, the revision must first be finalized.\n Finalizing a revision tells AWS Data Exchange that changes to the assets in the revision\n are complete. After it's in this read-only state, you can publish the revision to your\n products. Finalized revisions can be published through the AWS Data Exchange console or the\n AWS Marketplace Catalog API, using the StartChangeSet AWS Marketplace Catalog API action.\n When using the API, revisions are uniquely identified by their ARN.
" + } + }, + "Id": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The unique identifier for the revision.
" + } + }, + "SourceId": { + "target": "com.amazonaws.dataexchange#Id", + "traits": { + "smithy.api#documentation": "The revision ID of the owned revision corresponding to the entitled revision being\n viewed. This parameter is returned when a revision owner is viewing the entitled copy of\n its owned revision.
" + } + }, + "UpdatedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was last updated, in ISO 8601 format.
" + } + }, + "RevocationComment": { + "target": "com.amazonaws.dataexchange#__stringMin10Max512", + "traits": { + "smithy.api#documentation": "A required comment to inform subscribers of the reason their access to the revision was\n revoked.
" + } + }, + "Revoked": { + "target": "com.amazonaws.dataexchange#__boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "A status indicating that subscribers' access to the revision was revoked.
" + } + }, + "RevokedAt": { + "target": "com.amazonaws.dataexchange#Timestamp", + "traits": { + "smithy.api#documentation": "The date and time that the revision was revoked, in ISO 8601 format.
" + } + } + } + }, + "com.amazonaws.dataexchange#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.dataexchange#__string", + "traits": { + "smithy.api#documentation": "The message that informs you about what was invalid about the request.
", + "smithy.api#required": {} + } + }, + "ExceptionCause": { + "target": "com.amazonaws.dataexchange#ExceptionCause", + "traits": { + "smithy.api#documentation": "The unique identifier for the resource that couldn't be found.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The request was invalid.
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.dataexchange#__boolean": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.dataexchange#__double": { + "type": "double", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.dataexchange#__doubleMin0": { + "type": "double", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.dataexchange#__string": { + "type": "string" + }, + "com.amazonaws.dataexchange#__stringMin0Max16384": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 16384 + } + } + }, + "com.amazonaws.dataexchange#__stringMin0Max4096": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 4096 + } + } + }, + "com.amazonaws.dataexchange#__stringMin10Max512": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 512 + } + } + }, + "com.amazonaws.dataexchange#__stringMin24Max24PatternAZaZ094AZaZ092AZaZ093": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 24, + "max": 24 + }, + "smithy.api#pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + } + } + } +} \ No newline at end of file diff --git a/test/fixtures/generated/data_exchange.ex b/test/fixtures/generated/data_exchange.ex new file mode 100644 index 0000000..63c41c5 --- /dev/null +++ b/test/fixtures/generated/data_exchange.ex @@ -0,0 +1,3346 @@ +# WARNING: DO NOT EDIT, AUTO-GENERATED CODE! +# See https://github.com/aws-beam/aws-codegen for more details. + +defmodule AWS.DataExchange do + @moduledoc """ + AWS Data Exchange is a service that makes it easy for AWS customers to exchange + data in + the cloud. + + You can use the AWS Data Exchange APIs to create, update, manage, and access + file-based data set in the AWS Cloud. + + As a subscriber, you can view and access the data sets that you have an + entitlement to + through a subscription. You can use the APIs to download or copy your entitled + data sets to + Amazon Simple Storage Service (Amazon S3) for use across a variety of AWS + analytics and + machine learning services. + + As a provider, you can create and manage your data sets that you would like to + publish + to a product. Being able to package and provide your data sets into products + requires a few + steps to determine eligibility. For more information, visit the *AWS Data + Exchange + User Guide*. + + A data set is a collection of data that can be changed or updated over time. + Data sets + can be updated using revisions, which represent a new version or incremental + change to a + data set. A revision contains one or more assets. An asset in AWS Data Exchange + is a piece + of data that can be stored as an Amazon S3 object, Redshift datashare, API + Gateway API, AWS + Lake Formation data permission, or Amazon S3 data access. The asset can be a + structured + data file, an image file, or some other data file. Jobs are asynchronous import + or export + operations used to create or copy assets. + """ + + alias AWS.Client + alias AWS.Request + + @typedoc """ + + ## Example: + + redshift_data_share_details() :: %{ + "Arn" => String.t(), + "Database" => String.t(), + "Function" => String.t(), + "Schema" => String.t(), + "Table" => String.t(), + "View" => String.t() + } + + """ + @type redshift_data_share_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_asset_from_api_gateway_api_response_details() :: %{ + "ApiDescription" => String.t(), + "ApiId" => String.t(), + "ApiKey" => String.t(), + "ApiName" => String.t(), + "ApiSpecificationMd5Hash" => String.t(), + "ApiSpecificationUploadUrl" => String.t(), + "ApiSpecificationUploadUrlExpiresAt" => non_neg_integer(), + "DataSetId" => String.t(), + "ProtocolType" => String.t(), + "RevisionId" => String.t(), + "Stage" => String.t() + } + + """ + @type import_asset_from_api_gateway_api_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + cancel_job_request() :: %{} + + """ + @type cancel_job_request() :: %{} + + @typedoc """ + + ## Example: + + event_action_entry() :: %{ + "Action" => action(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "Event" => event(), + "Id" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type event_action_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + scope_details() :: %{ + "LakeFormationTagPolicies" => list(lake_formation_tag_policy_details()()), + "RedshiftDataShares" => list(redshift_data_share_details()()), + "S3DataAccesses" => list(s3_data_access_details()()) + } + + """ + @type scope_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_data_set_response() :: %{ + optional("Arn") => String.t(), + optional("AssetType") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Description") => String.t(), + optional("Id") => String.t(), + optional("Name") => String.t(), + optional("Origin") => String.t(), + optional("OriginDetails") => origin_details(), + optional("SourceId") => String.t(), + optional("Tags") => map(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type get_data_set_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + accept_data_grant_request() :: %{} + + """ + @type accept_data_grant_request() :: %{} + + @typedoc """ + + ## Example: + + tag_resource_request() :: %{ + required("Tags") => map() + } + + """ + @type tag_resource_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_revision_response() :: %{ + optional("Arn") => String.t(), + optional("Comment") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Finalized") => boolean(), + optional("Id") => String.t(), + optional("RevocationComment") => String.t(), + optional("Revoked") => boolean(), + optional("RevokedAt") => non_neg_integer(), + optional("SourceId") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type update_revision_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_revision_response() :: %{ + optional("Arn") => String.t(), + optional("Comment") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Finalized") => boolean(), + optional("Id") => String.t(), + optional("RevocationComment") => String.t(), + optional("Revoked") => boolean(), + optional("RevokedAt") => non_neg_integer(), + optional("SourceId") => String.t(), + optional("Tags") => map(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type get_revision_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_received_data_grants_request() :: %{ + optional("AcceptanceState") => list(String.t()()), + optional("MaxResults") => integer(), + optional("NextToken") => String.t() + } + + """ + @type list_received_data_grants_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_data_sets_response() :: %{ + optional("DataSets") => list(data_set_entry()()), + optional("NextToken") => String.t() + } + + """ + @type list_data_sets_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_revisions_to_s3_response_details() :: %{ + "DataSetId" => String.t(), + "Encryption" => export_server_side_encryption(), + "EventActionArn" => String.t(), + "RevisionDestinations" => list(revision_destination_entry()()) + } + + """ + @type export_revisions_to_s3_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_job_response() :: %{ + optional("Arn") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Details") => response_details(), + optional("Errors") => list(job_error()()), + optional("Id") => String.t(), + optional("State") => String.t(), + optional("Type") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type create_job_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_received_data_grant_response() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Description" => String.t(), + "EndsAt" => non_neg_integer(), + "GrantDistributionScope" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type get_received_data_grant_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + l_f_tag() :: %{ + "TagKey" => [String.t()], + "TagValues" => list([String.t()]()) + } + + """ + @type l_f_tag() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_received_data_grants_response() :: %{ + "DataGrantSummaries" => list(received_data_grant_summaries_entry()()), + "NextToken" => String.t() + } + + """ + @type list_received_data_grants_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + redshift_data_share_asset_source_entry() :: %{ + "DataShareArn" => String.t() + } + + """ + @type redshift_data_share_asset_source_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_event_action_request() :: %{ + required("Action") => action(), + required("Event") => event() + } + + """ + @type create_event_action_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + send_data_set_notification_request() :: %{ + optional("ClientToken") => String.t(), + optional("Comment") => String.t(), + optional("Details") => notification_details(), + optional("Scope") => scope_details(), + required("Type") => String.t() + } + + """ + @type send_data_set_notification_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_revision_request() :: %{} + + """ + @type get_revision_request() :: %{} + + @typedoc """ + + ## Example: + + import_asset_from_signed_url_job_error_details() :: %{ + "AssetName" => String.t() + } + + """ + @type import_asset_from_signed_url_job_error_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_jobs_request() :: %{ + optional("DataSetId") => String.t(), + optional("MaxResults") => integer(), + optional("NextToken") => String.t(), + optional("RevisionId") => String.t() + } + + """ + @type list_jobs_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_data_grant_response() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Description" => String.t(), + "EndsAt" => non_neg_integer(), + "GrantDistributionScope" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "SourceDataSetId" => String.t(), + "Tags" => map(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type create_data_grant_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + start_job_response() :: %{} + + """ + @type start_job_response() :: %{} + + @typedoc """ + + ## Example: + + redshift_data_share_asset() :: %{ + "Arn" => String.t() + } + + """ + @type redshift_data_share_asset() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_data_sets_request() :: %{ + optional("MaxResults") => integer(), + optional("NextToken") => String.t(), + optional("Origin") => String.t() + } + + """ + @type list_data_sets_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + notification_details() :: %{ + "DataUpdate" => data_update_request_details(), + "Deprecation" => deprecation_request_details(), + "SchemaChange" => schema_change_request_details() + } + + """ + @type notification_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + data_set_entry() :: %{ + "Arn" => String.t(), + "AssetType" => String.t(), + "CreatedAt" => non_neg_integer(), + "Description" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "Origin" => String.t(), + "OriginDetails" => origin_details(), + "SourceId" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type data_set_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_jobs_response() :: %{ + optional("Jobs") => list(job_entry()()), + optional("NextToken") => String.t() + } + + """ + @type list_jobs_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_job_request() :: %{ + required("Details") => request_details(), + required("Type") => String.t() + } + + """ + @type create_job_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + untag_resource_request() :: %{ + required("TagKeys") => list(String.t()()) + } + + """ + @type untag_resource_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + database_l_f_tag_policy_and_permissions() :: %{ + "Expression" => list(l_f_tag()()), + "Permissions" => list(String.t()()) + } + + """ + @type database_l_f_tag_policy_and_permissions() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_asset_from_api_gateway_api_request_details() :: %{ + "ApiDescription" => String.t(), + "ApiId" => String.t(), + "ApiKey" => String.t(), + "ApiName" => String.t(), + "ApiSpecificationMd5Hash" => String.t(), + "DataSetId" => String.t(), + "ProtocolType" => String.t(), + "RevisionId" => String.t(), + "Stage" => String.t() + } + + """ + @type import_asset_from_api_gateway_api_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + kms_key_to_grant() :: %{ + "KmsKeyArn" => String.t() + } + + """ + @type kms_key_to_grant() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + send_api_asset_response() :: %{ + optional("Body") => String.t(), + optional("ResponseHeaders") => map() + } + + """ + @type send_api_asset_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_server_side_encryption() :: %{ + "KmsKeyArn" => String.t(), + "Type" => String.t() + } + + """ + @type export_server_side_encryption() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + lake_formation_tag_policy_details() :: %{ + "Database" => String.t(), + "Table" => String.t() + } + + """ + @type lake_formation_tag_policy_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_data_set_response() :: %{ + optional("Arn") => String.t(), + optional("AssetType") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Description") => String.t(), + optional("Id") => String.t(), + optional("Name") => String.t(), + optional("Origin") => String.t(), + optional("OriginDetails") => origin_details(), + optional("SourceId") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type update_data_set_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + revision_entry() :: %{ + "Arn" => String.t(), + "Comment" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Finalized" => boolean(), + "Id" => String.t(), + "RevocationComment" => String.t(), + "Revoked" => boolean(), + "RevokedAt" => non_neg_integer(), + "SourceId" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type revision_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_asset_response() :: %{ + optional("Arn") => String.t(), + optional("AssetDetails") => asset_details(), + optional("AssetType") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Id") => String.t(), + optional("Name") => String.t(), + optional("RevisionId") => String.t(), + optional("SourceId") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type update_asset_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + schema_change_details() :: %{ + "Description" => String.t(), + "Name" => String.t(), + "Type" => String.t() + } + + """ + @type schema_change_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_data_grant_request() :: %{ + optional("Description") => String.t(), + optional("EndsAt") => non_neg_integer(), + optional("Tags") => map(), + required("GrantDistributionScope") => String.t(), + required("Name") => String.t(), + required("ReceiverPrincipal") => String.t(), + required("SourceDataSetId") => String.t() + } + + """ + @type create_data_grant_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_received_data_grant_request() :: %{} + + """ + @type get_received_data_grant_request() :: %{} + + @typedoc """ + + ## Example: + + list_data_set_revisions_response() :: %{ + optional("NextToken") => String.t(), + optional("Revisions") => list(revision_entry()()) + } + + """ + @type list_data_set_revisions_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_asset_to_signed_url_response_details() :: %{ + "AssetId" => String.t(), + "DataSetId" => String.t(), + "RevisionId" => String.t(), + "SignedUrl" => String.t(), + "SignedUrlExpiresAt" => non_neg_integer() + } + + """ + @type export_asset_to_signed_url_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_asset_to_signed_url_request_details() :: %{ + "AssetId" => String.t(), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type export_asset_to_signed_url_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_revision_assets_request() :: %{ + optional("MaxResults") => integer(), + optional("NextToken") => String.t() + } + + """ + @type list_revision_assets_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + conflict_exception() :: %{ + "Message" => String.t(), + "ResourceId" => String.t(), + "ResourceType" => String.t() + } + + """ + @type conflict_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + resource_not_found_exception() :: %{ + "Message" => String.t(), + "ResourceId" => String.t(), + "ResourceType" => String.t() + } + + """ + @type resource_not_found_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_assets_from_lake_formation_tag_policy_response_details() :: %{ + "CatalogId" => String.t(), + "DataSetId" => String.t(), + "Database" => database_l_f_tag_policy_and_permissions(), + "RevisionId" => String.t(), + "RoleArn" => String.t(), + "Table" => table_l_f_tag_policy_and_permissions() + } + + """ + @type import_assets_from_lake_formation_tag_policy_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + table_l_f_tag_policy_and_permissions() :: %{ + "Expression" => list(l_f_tag()()), + "Permissions" => list(String.t()()) + } + + """ + @type table_l_f_tag_policy_and_permissions() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_assets_to_s3_request_details() :: %{ + "AssetDestinations" => list(asset_destination_entry()()), + "DataSetId" => String.t(), + "Encryption" => export_server_side_encryption(), + "RevisionId" => String.t() + } + + """ + @type export_assets_to_s3_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + accept_data_grant_response() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Description" => String.t(), + "EndsAt" => non_neg_integer(), + "GrantDistributionScope" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type accept_data_grant_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_data_set_request() :: %{ + optional("Tags") => map(), + required("AssetType") => String.t(), + required("Description") => String.t(), + required("Name") => String.t() + } + + """ + @type create_data_set_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_assets_to_s3_response_details() :: %{ + "AssetDestinations" => list(asset_destination_entry()()), + "DataSetId" => String.t(), + "Encryption" => export_server_side_encryption(), + "RevisionId" => String.t() + } + + """ + @type export_assets_to_s3_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_revision_assets_response() :: %{ + optional("Assets") => list(asset_entry()()), + optional("NextToken") => String.t() + } + + """ + @type list_revision_assets_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + details() :: %{ + "ImportAssetFromSignedUrlJobErrorDetails" => import_asset_from_signed_url_job_error_details(), + "ImportAssetsFromS3JobErrorDetails" => list(asset_source_entry()()) + } + + """ + @type details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_event_action_response() :: %{ + optional("Action") => action(), + optional("Arn") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Event") => event(), + optional("Id") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type get_event_action_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_event_action_request() :: %{} + + """ + @type get_event_action_request() :: %{} + + @typedoc """ + + ## Example: + + create_s3_data_access_from_s3_bucket_request_details() :: %{ + "AssetSource" => s3_data_access_asset_source_entry(), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type create_s3_data_access_from_s3_bucket_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + delete_event_action_request() :: %{} + + """ + @type delete_event_action_request() :: %{} + + @typedoc """ + + ## Example: + + schema_change_request_details() :: %{ + "Changes" => list(schema_change_details()()), + "SchemaChangeAt" => non_neg_integer() + } + + """ + @type schema_change_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_data_set_response() :: %{ + optional("Arn") => String.t(), + optional("AssetType") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Description") => String.t(), + optional("Id") => String.t(), + optional("Name") => String.t(), + optional("Origin") => String.t(), + optional("OriginDetails") => origin_details(), + optional("SourceId") => String.t(), + optional("Tags") => map(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type create_data_set_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + database_l_f_tag_policy() :: %{ + "Expression" => list(l_f_tag()()) + } + + """ + @type database_l_f_tag_policy() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + s3_data_access_asset() :: %{ + "Bucket" => String.t(), + "KeyPrefixes" => list(String.t()()), + "Keys" => list(String.t()()), + "KmsKeysToGrant" => list(kms_key_to_grant()()), + "S3AccessPointAlias" => String.t(), + "S3AccessPointArn" => String.t() + } + + """ + @type s3_data_access_asset() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_tags_for_resource_response() :: %{ + optional("Tags") => map() + } + + """ + @type list_tags_for_resource_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + revoke_revision_request() :: %{ + required("RevocationComment") => String.t() + } + + """ + @type revoke_revision_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + table_l_f_tag_policy() :: %{ + "Expression" => list(l_f_tag()()) + } + + """ + @type table_l_f_tag_policy() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_event_action_request() :: %{ + optional("Action") => action() + } + + """ + @type update_event_action_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + delete_revision_request() :: %{} + + """ + @type delete_revision_request() :: %{} + + @typedoc """ + + ## Example: + + lake_formation_data_permission_details() :: %{ + "LFTagPolicy" => l_f_tag_policy_details() + } + + """ + @type lake_formation_data_permission_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_asset_response() :: %{ + optional("Arn") => String.t(), + optional("AssetDetails") => asset_details(), + optional("AssetType") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Id") => String.t(), + optional("Name") => String.t(), + optional("RevisionId") => String.t(), + optional("SourceId") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type get_asset_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + start_job_request() :: %{} + + """ + @type start_job_request() :: %{} + + @typedoc """ + + ## Example: + + update_event_action_response() :: %{ + optional("Action") => action(), + optional("Arn") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Event") => event(), + optional("Id") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type update_event_action_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + s3_data_access_asset_source_entry() :: %{ + "Bucket" => String.t(), + "KeyPrefixes" => list(String.t()()), + "Keys" => list(String.t()()), + "KmsKeysToGrant" => list(kms_key_to_grant()()) + } + + """ + @type s3_data_access_asset_source_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_s3_data_access_from_s3_bucket_response_details() :: %{ + "AssetSource" => s3_data_access_asset_source_entry(), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type create_s3_data_access_from_s3_bucket_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + data_update_request_details() :: %{ + "DataUpdatedAt" => non_neg_integer() + } + + """ + @type data_update_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + api_gateway_api_asset() :: %{ + "ApiDescription" => String.t(), + "ApiEndpoint" => String.t(), + "ApiId" => String.t(), + "ApiKey" => String.t(), + "ApiName" => String.t(), + "ApiSpecificationDownloadUrl" => String.t(), + "ApiSpecificationDownloadUrlExpiresAt" => non_neg_integer(), + "ProtocolType" => String.t(), + "Stage" => String.t() + } + + """ + @type api_gateway_api_asset() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + origin_details() :: %{ + "DataGrantId" => String.t(), + "ProductId" => String.t() + } + + """ + @type origin_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + internal_server_exception() :: %{ + "Message" => String.t() + } + + """ + @type internal_server_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + send_data_set_notification_response() :: %{} + + """ + @type send_data_set_notification_response() :: %{} + + @typedoc """ + + ## Example: + + delete_data_set_request() :: %{} + + """ + @type delete_data_set_request() :: %{} + + @typedoc """ + + ## Example: + + l_f_resource_details() :: %{ + "Database" => database_l_f_tag_policy(), + "Table" => table_l_f_tag_policy() + } + + """ + @type l_f_resource_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_revision_response() :: %{ + optional("Arn") => String.t(), + optional("Comment") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Finalized") => boolean(), + optional("Id") => String.t(), + optional("RevocationComment") => String.t(), + optional("Revoked") => boolean(), + optional("RevokedAt") => non_neg_integer(), + optional("SourceId") => String.t(), + optional("Tags") => map(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type create_revision_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + asset_entry() :: %{ + "Arn" => String.t(), + "AssetDetails" => asset_details(), + "AssetType" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "RevisionId" => String.t(), + "SourceId" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type asset_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + s3_data_access_details() :: %{ + "KeyPrefixes" => list(String.t()()), + "Keys" => list(String.t()()) + } + + """ + @type s3_data_access_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + asset_details() :: %{ + "ApiGatewayApiAsset" => api_gateway_api_asset(), + "LakeFormationDataPermissionAsset" => lake_formation_data_permission_asset(), + "RedshiftDataShareAsset" => redshift_data_share_asset(), + "S3DataAccessAsset" => s3_data_access_asset(), + "S3SnapshotAsset" => s3_snapshot_asset() + } + + """ + @type asset_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + event() :: %{ + "RevisionPublished" => revision_published() + } + + """ + @type event() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + action() :: %{ + "ExportRevisionToS3" => auto_export_revision_to_s3_request_details() + } + + """ + @type action() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_assets_from_s3_response_details() :: %{ + "AssetSources" => list(asset_source_entry()()), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type import_assets_from_s3_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + delete_asset_request() :: %{} + + """ + @type delete_asset_request() :: %{} + + @typedoc """ + + ## Example: + + import_assets_from_redshift_data_shares_request_details() :: %{ + "AssetSources" => list(redshift_data_share_asset_source_entry()()), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type import_assets_from_redshift_data_shares_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + revision_published() :: %{ + "DataSetId" => String.t() + } + + """ + @type revision_published() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + access_denied_exception() :: %{ + "Message" => String.t() + } + + """ + @type access_denied_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_asset_request() :: %{ + required("Name") => String.t() + } + + """ + @type update_asset_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_assets_from_redshift_data_shares_response_details() :: %{ + "AssetSources" => list(redshift_data_share_asset_source_entry()()), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type import_assets_from_redshift_data_shares_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + auto_export_revision_destination_entry() :: %{ + "Bucket" => String.t(), + "KeyPattern" => String.t() + } + + """ + @type auto_export_revision_destination_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + asset_source_entry() :: %{ + "Bucket" => String.t(), + "Key" => String.t() + } + + """ + @type asset_source_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + data_grant_summary_entry() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "EndsAt" => non_neg_integer(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "SourceDataSetId" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type data_grant_summary_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_job_response() :: %{ + optional("Arn") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Details") => response_details(), + optional("Errors") => list(job_error()()), + optional("Id") => String.t(), + optional("State") => String.t(), + optional("Type") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type get_job_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_data_grant_request() :: %{} + + """ + @type get_data_grant_request() :: %{} + + @typedoc """ + + ## Example: + + validation_exception() :: %{ + "ExceptionCause" => String.t(), + "Message" => String.t() + } + + """ + @type validation_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_tags_for_resource_request() :: %{} + + """ + @type list_tags_for_resource_request() :: %{} + + @typedoc """ + + ## Example: + + auto_export_revision_to_s3_request_details() :: %{ + "Encryption" => export_server_side_encryption(), + "RevisionDestination" => auto_export_revision_destination_entry() + } + + """ + @type auto_export_revision_to_s3_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + l_f_tag_policy_details() :: %{ + "CatalogId" => String.t(), + "ResourceDetails" => l_f_resource_details(), + "ResourceType" => String.t() + } + + """ + @type l_f_tag_policy_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + deprecation_request_details() :: %{ + "DeprecationAt" => non_neg_integer() + } + + """ + @type deprecation_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + service_limit_exceeded_exception() :: %{ + "LimitName" => String.t(), + "LimitValue" => float(), + "Message" => String.t() + } + + """ + @type service_limit_exceeded_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_asset_request() :: %{} + + """ + @type get_asset_request() :: %{} + + @typedoc """ + + ## Example: + + list_data_grants_request() :: %{ + optional("MaxResults") => integer(), + optional("NextToken") => String.t() + } + + """ + @type list_data_grants_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_job_request() :: %{} + + """ + @type get_job_request() :: %{} + + @typedoc """ + + ## Example: + + throttling_exception() :: %{ + "Message" => String.t() + } + + """ + @type throttling_exception() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + delete_data_grant_request() :: %{} + + """ + @type delete_data_grant_request() :: %{} + + @typedoc """ + + ## Example: + + send_api_asset_request() :: %{ + optional("Body") => String.t(), + optional("Method") => String.t(), + optional("Path") => String.t(), + optional("QueryStringParameters") => map(), + optional("RequestHeaders") => map(), + required("AssetId") => String.t(), + required("DataSetId") => String.t(), + required("RevisionId") => String.t() + } + + """ + @type send_api_asset_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_data_set_request() :: %{} + + """ + @type get_data_set_request() :: %{} + + @typedoc """ + + ## Example: + + create_revision_request() :: %{ + optional("Comment") => String.t(), + optional("Tags") => map() + } + + """ + @type create_revision_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_assets_from_s3_request_details() :: %{ + "AssetSources" => list(asset_source_entry()()), + "DataSetId" => String.t(), + "RevisionId" => String.t() + } + + """ + @type import_assets_from_s3_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + lake_formation_data_permission_asset() :: %{ + "LakeFormationDataPermissionDetails" => lake_formation_data_permission_details(), + "LakeFormationDataPermissionType" => String.t(), + "Permissions" => list(String.t()()), + "RoleArn" => String.t() + } + + """ + @type lake_formation_data_permission_asset() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_event_actions_request() :: %{ + optional("EventSourceId") => String.t(), + optional("MaxResults") => integer(), + optional("NextToken") => String.t() + } + + """ + @type list_event_actions_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_data_grants_response() :: %{ + "DataGrantSummaries" => list(data_grant_summary_entry()()), + "NextToken" => String.t() + } + + """ + @type list_data_grants_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_data_set_revisions_request() :: %{ + optional("MaxResults") => integer(), + optional("NextToken") => String.t() + } + + """ + @type list_data_set_revisions_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + asset_destination_entry() :: %{ + "AssetId" => String.t(), + "Bucket" => String.t(), + "Key" => String.t() + } + + """ + @type asset_destination_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + get_data_grant_response() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "Description" => String.t(), + "EndsAt" => non_neg_integer(), + "GrantDistributionScope" => String.t(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "SourceDataSetId" => String.t(), + "Tags" => map(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type get_data_grant_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + list_event_actions_response() :: %{ + optional("EventActions") => list(event_action_entry()()), + optional("NextToken") => String.t() + } + + """ + @type list_event_actions_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + request_details() :: %{ + "CreateS3DataAccessFromS3Bucket" => create_s3_data_access_from_s3_bucket_request_details(), + "ExportAssetToSignedUrl" => export_asset_to_signed_url_request_details(), + "ExportAssetsToS3" => export_assets_to_s3_request_details(), + "ExportRevisionsToS3" => export_revisions_to_s3_request_details(), + "ImportAssetFromApiGatewayApi" => import_asset_from_api_gateway_api_request_details(), + "ImportAssetFromSignedUrl" => import_asset_from_signed_url_request_details(), + "ImportAssetsFromLakeFormationTagPolicy" => import_assets_from_lake_formation_tag_policy_request_details(), + "ImportAssetsFromRedshiftDataShares" => import_assets_from_redshift_data_shares_request_details(), + "ImportAssetsFromS3" => import_assets_from_s3_request_details() + } + + """ + @type request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + job_entry() :: %{ + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "Details" => response_details(), + "Errors" => list(job_error()()), + "Id" => String.t(), + "State" => String.t(), + "Type" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type job_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_asset_from_signed_url_request_details() :: %{ + "AssetName" => String.t(), + "DataSetId" => String.t(), + "Md5Hash" => String.t(), + "RevisionId" => String.t() + } + + """ + @type import_asset_from_signed_url_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_asset_from_signed_url_response_details() :: %{ + "AssetName" => String.t(), + "DataSetId" => String.t(), + "Md5Hash" => String.t(), + "RevisionId" => String.t(), + "SignedUrl" => String.t(), + "SignedUrlExpiresAt" => non_neg_integer() + } + + """ + @type import_asset_from_signed_url_response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + response_details() :: %{ + "CreateS3DataAccessFromS3Bucket" => create_s3_data_access_from_s3_bucket_response_details(), + "ExportAssetToSignedUrl" => export_asset_to_signed_url_response_details(), + "ExportAssetsToS3" => export_assets_to_s3_response_details(), + "ExportRevisionsToS3" => export_revisions_to_s3_response_details(), + "ImportAssetFromApiGatewayApi" => import_asset_from_api_gateway_api_response_details(), + "ImportAssetFromSignedUrl" => import_asset_from_signed_url_response_details(), + "ImportAssetsFromLakeFormationTagPolicy" => import_assets_from_lake_formation_tag_policy_response_details(), + "ImportAssetsFromRedshiftDataShares" => import_assets_from_redshift_data_shares_response_details(), + "ImportAssetsFromS3" => import_assets_from_s3_response_details() + } + + """ + @type response_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + import_assets_from_lake_formation_tag_policy_request_details() :: %{ + "CatalogId" => String.t(), + "DataSetId" => String.t(), + "Database" => database_l_f_tag_policy_and_permissions(), + "RevisionId" => String.t(), + "RoleArn" => String.t(), + "Table" => table_l_f_tag_policy_and_permissions() + } + + """ + @type import_assets_from_lake_formation_tag_policy_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + received_data_grant_summaries_entry() :: %{ + "AcceptanceState" => String.t(), + "AcceptedAt" => non_neg_integer(), + "Arn" => String.t(), + "CreatedAt" => non_neg_integer(), + "DataSetId" => String.t(), + "EndsAt" => non_neg_integer(), + "Id" => String.t(), + "Name" => String.t(), + "ReceiverPrincipal" => String.t(), + "SenderPrincipal" => String.t(), + "UpdatedAt" => non_neg_integer() + } + + """ + @type received_data_grant_summaries_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_revision_request() :: %{ + optional("Comment") => String.t(), + optional("Finalized") => boolean() + } + + """ + @type update_revision_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + s3_snapshot_asset() :: %{ + "Size" => float() + } + + """ + @type s3_snapshot_asset() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + export_revisions_to_s3_request_details() :: %{ + "DataSetId" => String.t(), + "Encryption" => export_server_side_encryption(), + "RevisionDestinations" => list(revision_destination_entry()()) + } + + """ + @type export_revisions_to_s3_request_details() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + revoke_revision_response() :: %{ + optional("Arn") => String.t(), + optional("Comment") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("DataSetId") => String.t(), + optional("Finalized") => boolean(), + optional("Id") => String.t(), + optional("RevocationComment") => String.t(), + optional("Revoked") => boolean(), + optional("RevokedAt") => non_neg_integer(), + optional("SourceId") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type revoke_revision_response() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + job_error() :: %{ + "Code" => String.t(), + "Details" => details(), + "LimitName" => String.t(), + "LimitValue" => float(), + "Message" => String.t(), + "ResourceId" => String.t(), + "ResourceType" => String.t() + } + + """ + @type job_error() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + update_data_set_request() :: %{ + optional("Description") => String.t(), + optional("Name") => String.t() + } + + """ + @type update_data_set_request() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + revision_destination_entry() :: %{ + "Bucket" => String.t(), + "KeyPattern" => String.t(), + "RevisionId" => String.t() + } + + """ + @type revision_destination_entry() :: %{String.t() => any()} + + @typedoc """ + + ## Example: + + create_event_action_response() :: %{ + optional("Action") => action(), + optional("Arn") => String.t(), + optional("CreatedAt") => non_neg_integer(), + optional("Event") => event(), + optional("Id") => String.t(), + optional("UpdatedAt") => non_neg_integer() + } + + """ + @type create_event_action_response() :: %{String.t() => any()} + + @type accept_data_grant_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type cancel_job_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type create_data_grant_errors() :: + throttling_exception() + | service_limit_exceeded_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type create_data_set_errors() :: + throttling_exception() + | service_limit_exceeded_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + + @type create_event_action_errors() :: + throttling_exception() + | service_limit_exceeded_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + + @type create_job_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type create_revision_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type delete_asset_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type delete_data_grant_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type delete_data_set_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type delete_event_action_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type delete_revision_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type get_asset_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_data_grant_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_data_set_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_event_action_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_job_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_received_data_grant_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type get_revision_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_data_grants_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_data_set_revisions_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_data_sets_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_event_actions_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_jobs_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_received_data_grants_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type list_revision_assets_errors() :: + throttling_exception() + | validation_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type revoke_revision_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type send_api_asset_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type send_data_set_notification_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type start_job_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type update_asset_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + @type update_data_set_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type update_event_action_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + + @type update_revision_errors() :: + throttling_exception() + | validation_exception() + | access_denied_exception() + | internal_server_exception() + | resource_not_found_exception() + | conflict_exception() + + def metadata do + %{ + api_version: "2017-07-25", + content_type: "application/x-amz-json-1.1", + credential_scope: nil, + endpoint_prefix: "dataexchange", + global?: false, + hostname: nil, + protocol: "rest-json", + service_id: "DataExchange", + signature_version: "v4", + signing_name: "dataexchange", + target_prefix: nil + } + end + + @doc """ + This operation accepts a data grant. + """ + @spec accept_data_grant(map(), String.t(), accept_data_grant_request(), list()) :: + {:ok, accept_data_grant_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, accept_data_grant_errors()} + def accept_data_grant(%Client{} = client, data_grant_arn, input, options \\ []) do + url_path = "/v1/data-grants/#{AWS.Util.encode_uri(data_grant_arn)}/accept" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + This operation cancels a job. + + Jobs can be cancelled only when they are in the WAITING + state. + """ + @spec cancel_job(map(), String.t(), cancel_job_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, cancel_job_errors()} + def cancel_job(%Client{} = client, job_id, input, options \\ []) do + url_path = "/v1/jobs/#{AWS.Util.encode_uri(job_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation creates a data grant. + """ + @spec create_data_grant(map(), create_data_grant_request(), list()) :: + {:ok, create_data_grant_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, create_data_grant_errors()} + def create_data_grant(%Client{} = client, input, options \\ []) do + url_path = "/v1/data-grants" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 201 + ) + end + + @doc """ + This operation creates a data set. + """ + @spec create_data_set(map(), create_data_set_request(), list()) :: + {:ok, create_data_set_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, create_data_set_errors()} + def create_data_set(%Client{} = client, input, options \\ []) do + url_path = "/v1/data-sets" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 201 + ) + end + + @doc """ + This operation creates an event action. + """ + @spec create_event_action(map(), create_event_action_request(), list()) :: + {:ok, create_event_action_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, create_event_action_errors()} + def create_event_action(%Client{} = client, input, options \\ []) do + url_path = "/v1/event-actions" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 201 + ) + end + + @doc """ + This operation creates a job. + """ + @spec create_job(map(), create_job_request(), list()) :: + {:ok, create_job_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, create_job_errors()} + def create_job(%Client{} = client, input, options \\ []) do + url_path = "/v1/jobs" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 201 + ) + end + + @doc """ + This operation creates a revision for a data set. + """ + @spec create_revision(map(), String.t(), create_revision_request(), list()) :: + {:ok, create_revision_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, create_revision_errors()} + def create_revision(%Client{} = client, data_set_id, input, options \\ []) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 201 + ) + end + + @doc """ + This operation deletes an asset. + """ + @spec delete_asset(map(), String.t(), String.t(), String.t(), delete_asset_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, delete_asset_errors()} + def delete_asset(%Client{} = client, asset_id, data_set_id, revision_id, input, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}/assets/#{AWS.Util.encode_uri(asset_id)}" + + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation deletes a data grant. + """ + @spec delete_data_grant(map(), String.t(), delete_data_grant_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, delete_data_grant_errors()} + def delete_data_grant(%Client{} = client, data_grant_id, input, options \\ []) do + url_path = "/v1/data-grants/#{AWS.Util.encode_uri(data_grant_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation deletes a data set. + """ + @spec delete_data_set(map(), String.t(), delete_data_set_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, delete_data_set_errors()} + def delete_data_set(%Client{} = client, data_set_id, input, options \\ []) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation deletes the event action. + """ + @spec delete_event_action(map(), String.t(), delete_event_action_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, delete_event_action_errors()} + def delete_event_action(%Client{} = client, event_action_id, input, options \\ []) do + url_path = "/v1/event-actions/#{AWS.Util.encode_uri(event_action_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation deletes a revision. + """ + @spec delete_revision(map(), String.t(), String.t(), delete_revision_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + | {:error, delete_revision_errors()} + def delete_revision(%Client{} = client, data_set_id, revision_id, input, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}" + + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation returns information about an asset. + """ + @spec get_asset(map(), String.t(), String.t(), String.t(), list()) :: + {:ok, get_asset_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_asset_errors()} + def get_asset(%Client{} = client, asset_id, data_set_id, revision_id, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}/assets/#{AWS.Util.encode_uri(asset_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about a data grant. + """ + @spec get_data_grant(map(), String.t(), list()) :: + {:ok, get_data_grant_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_data_grant_errors()} + def get_data_grant(%Client{} = client, data_grant_id, options \\ []) do + url_path = "/v1/data-grants/#{AWS.Util.encode_uri(data_grant_id)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about a data set. + """ + @spec get_data_set(map(), String.t(), list()) :: + {:ok, get_data_set_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_data_set_errors()} + def get_data_set(%Client{} = client, data_set_id, options \\ []) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation retrieves information about an event action. + """ + @spec get_event_action(map(), String.t(), list()) :: + {:ok, get_event_action_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_event_action_errors()} + def get_event_action(%Client{} = client, event_action_id, options \\ []) do + url_path = "/v1/event-actions/#{AWS.Util.encode_uri(event_action_id)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about a job. + """ + @spec get_job(map(), String.t(), list()) :: + {:ok, get_job_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_job_errors()} + def get_job(%Client{} = client, job_id, options \\ []) do + url_path = "/v1/jobs/#{AWS.Util.encode_uri(job_id)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about a received data grant. + """ + @spec get_received_data_grant(map(), String.t(), list()) :: + {:ok, get_received_data_grant_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_received_data_grant_errors()} + def get_received_data_grant(%Client{} = client, data_grant_arn, options \\ []) do + url_path = "/v1/received-data-grants/#{AWS.Util.encode_uri(data_grant_arn)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about a revision. + """ + @spec get_revision(map(), String.t(), String.t(), list()) :: + {:ok, get_revision_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, get_revision_errors()} + def get_revision(%Client{} = client, data_set_id, revision_id, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}" + + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about all data grants. + """ + @spec list_data_grants(map(), String.t() | nil, String.t() | nil, list()) :: + {:ok, list_data_grants_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_data_grants_errors()} + def list_data_grants(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do + url_path = "/v1/data-grants" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists a data set's revisions sorted by CreatedAt in descending + order. + """ + @spec list_data_set_revisions(map(), String.t(), String.t() | nil, String.t() | nil, list()) :: + {:ok, list_data_set_revisions_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_data_set_revisions_errors()} + def list_data_set_revisions( + %Client{} = client, + data_set_id, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists your data sets. + + When listing by origin OWNED, results are sorted by + CreatedAt in descending order. When listing by origin ENTITLED, there is no + order. + """ + @spec list_data_sets(map(), String.t() | nil, String.t() | nil, String.t() | nil, list()) :: + {:ok, list_data_sets_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_data_sets_errors()} + def list_data_sets( + %Client{} = client, + max_results \\ nil, + next_token \\ nil, + origin \\ nil, + options \\ [] + ) do + url_path = "/v1/data-sets" + headers = [] + query_params = [] + + query_params = + if !is_nil(origin) do + [{"origin", origin} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists your event actions. + """ + @spec list_event_actions(map(), String.t() | nil, String.t() | nil, String.t() | nil, list()) :: + {:ok, list_event_actions_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_event_actions_errors()} + def list_event_actions( + %Client{} = client, + event_source_id \\ nil, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = "/v1/event-actions" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(event_source_id) do + [{"eventSourceId", event_source_id} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists your jobs sorted by CreatedAt in descending order. + """ + @spec list_jobs( + map(), + String.t() | nil, + String.t() | nil, + String.t() | nil, + String.t() | nil, + list() + ) :: + {:ok, list_jobs_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_jobs_errors()} + def list_jobs( + %Client{} = client, + data_set_id \\ nil, + max_results \\ nil, + next_token \\ nil, + revision_id \\ nil, + options \\ [] + ) do + url_path = "/v1/jobs" + headers = [] + query_params = [] + + query_params = + if !is_nil(revision_id) do + [{"revisionId", revision_id} | query_params] + else + query_params + end + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(data_set_id) do + [{"dataSetId", data_set_id} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation returns information about all received data grants. + """ + @spec list_received_data_grants( + map(), + String.t() | nil, + String.t() | nil, + String.t() | nil, + list() + ) :: + {:ok, list_received_data_grants_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_received_data_grants_errors()} + def list_received_data_grants( + %Client{} = client, + acceptance_state \\ nil, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = "/v1/received-data-grants" + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + query_params = + if !is_nil(acceptance_state) do + [{"acceptanceState", acceptance_state} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists a revision's assets sorted alphabetically in descending + order. + """ + @spec list_revision_assets( + map(), + String.t(), + String.t(), + String.t() | nil, + String.t() | nil, + list() + ) :: + {:ok, list_revision_assets_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, list_revision_assets_errors()} + def list_revision_assets( + %Client{} = client, + data_set_id, + revision_id, + max_results \\ nil, + next_token \\ nil, + options \\ [] + ) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}/assets" + + headers = [] + query_params = [] + + query_params = + if !is_nil(next_token) do + [{"nextToken", next_token} | query_params] + else + query_params + end + + query_params = + if !is_nil(max_results) do + [{"maxResults", max_results} | query_params] + else + query_params + end + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation lists the tags on the resource. + """ + @spec list_tags_for_resource(map(), String.t(), list()) :: + {:ok, list_tags_for_resource_response(), any()} + | {:error, {:unexpected_response, any()}} + def list_tags_for_resource(%Client{} = client, resource_arn, options \\ []) do + url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" + headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200) + end + + @doc """ + This operation revokes subscribers' access to a revision. + """ + @spec revoke_revision(map(), String.t(), String.t(), revoke_revision_request(), list()) :: + {:ok, revoke_revision_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, revoke_revision_errors()} + def revoke_revision(%Client{} = client, data_set_id, revision_id, input, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}/revoke" + + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + This operation invokes an API Gateway API asset. + + The request is proxied to the + provider’s API Gateway API. + """ + @spec send_api_asset(map(), send_api_asset_request(), list()) :: + {:ok, send_api_asset_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, send_api_asset_errors()} + def send_api_asset(%Client{} = client, input, options \\ []) do + url_path = "/v1" + + {headers, input} = + [ + {"AssetId", "x-amzn-dataexchange-asset-id"}, + {"DataSetId", "x-amzn-dataexchange-data-set-id"}, + {"Method", "x-amzn-dataexchange-http-method"}, + {"Path", "x-amzn-dataexchange-path"}, + {"RevisionId", "x-amzn-dataexchange-revision-id"} + ] + |> Request.build_params(input) + + {custom_headers, input} = + [ + {"RequestHeaders", "x-amzn-dataexchange-header-"} + ] + |> Request.build_params(input) + + {query_params, input} = + [ + {"QueryStringParameters", "QueryStringParameters"} + ] + |> Request.build_params(input) + + options = + Keyword.put( + options, + :send_body_as_binary?, + true + ) + + options = + Keyword.put( + options, + :receive_body_as_binary?, + true + ) + + meta = metadata() |> Map.put_new(:host_prefix, "api-fulfill.") + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + The type of event associated with the data set. + """ + @spec send_data_set_notification( + map(), + String.t(), + send_data_set_notification_request(), + list() + ) :: + {:ok, send_data_set_notification_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, send_data_set_notification_errors()} + def send_data_set_notification(%Client{} = client, data_set_id, input, options \\ []) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/notification" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 202 + ) + end + + @doc """ + This operation starts a job. + """ + @spec start_job(map(), String.t(), start_job_request(), list()) :: + {:ok, start_job_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, start_job_errors()} + def start_job(%Client{} = client, job_id, input, options \\ []) do + url_path = "/v1/jobs/#{AWS.Util.encode_uri(job_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :patch, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 202 + ) + end + + @doc """ + This operation tags a resource. + """ + @spec tag_resource(map(), String.t(), tag_resource_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + def tag_resource(%Client{} = client, resource_arn, input, options \\ []) do + url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :post, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation removes one or more tags from a resource. + """ + @spec untag_resource(map(), String.t(), untag_resource_request(), list()) :: + {:ok, nil, any()} + | {:error, {:unexpected_response, any()}} + def untag_resource(%Client{} = client, resource_arn, input, options \\ []) do + url_path = "/tags/#{AWS.Util.encode_uri(resource_arn)}" + headers = [] + custom_headers = [] + + {query_params, input} = + [ + {"TagKeys", "tagKeys"} + ] + |> Request.build_params(input) + + meta = metadata() + + Request.request_rest( + client, + meta, + :delete, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 204 + ) + end + + @doc """ + This operation updates an asset. + """ + @spec update_asset(map(), String.t(), String.t(), String.t(), update_asset_request(), list()) :: + {:ok, update_asset_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, update_asset_errors()} + def update_asset(%Client{} = client, asset_id, data_set_id, revision_id, input, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}/assets/#{AWS.Util.encode_uri(asset_id)}" + + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :patch, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + This operation updates a data set. + """ + @spec update_data_set(map(), String.t(), update_data_set_request(), list()) :: + {:ok, update_data_set_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, update_data_set_errors()} + def update_data_set(%Client{} = client, data_set_id, input, options \\ []) do + url_path = "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :patch, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + This operation updates the event action. + """ + @spec update_event_action(map(), String.t(), update_event_action_request(), list()) :: + {:ok, update_event_action_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, update_event_action_errors()} + def update_event_action(%Client{} = client, event_action_id, input, options \\ []) do + url_path = "/v1/event-actions/#{AWS.Util.encode_uri(event_action_id)}" + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :patch, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end + + @doc """ + This operation updates a revision. + """ + @spec update_revision(map(), String.t(), String.t(), update_revision_request(), list()) :: + {:ok, update_revision_response(), any()} + | {:error, {:unexpected_response, any()}} + | {:error, update_revision_errors()} + def update_revision(%Client{} = client, data_set_id, revision_id, input, options \\ []) do + url_path = + "/v1/data-sets/#{AWS.Util.encode_uri(data_set_id)}/revisions/#{AWS.Util.encode_uri(revision_id)}" + + headers = [] + custom_headers = [] + query_params = [] + + meta = metadata() + + Request.request_rest( + client, + meta, + :patch, + url_path, + query_params, + custom_headers ++ headers, + input, + options, + 200 + ) + end +end