{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- |
-- Module : Amazonka.DataExchange
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Derived from API version @2017-07-25@ of the AWS service descriptions, licensed under Apache 2.0.
--
-- 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.
module Amazonka.DataExchange
( -- * Service Configuration
defaultService,
-- * Errors
-- $errors
-- ** AccessDeniedException
_AccessDeniedException,
-- ** ConflictException
_ConflictException,
-- ** InternalServerException
_InternalServerException,
-- ** ResourceNotFoundException
_ResourceNotFoundException,
-- ** ServiceLimitExceededException
_ServiceLimitExceededException,
-- ** ThrottlingException
_ThrottlingException,
-- ** ValidationException
_ValidationException,
-- * Waiters
-- $waiters
-- * Operations
-- $operations
-- ** CancelJob
CancelJob (CancelJob'),
newCancelJob,
CancelJobResponse (CancelJobResponse'),
newCancelJobResponse,
-- ** CreateDataSet
CreateDataSet (CreateDataSet'),
newCreateDataSet,
CreateDataSetResponse (CreateDataSetResponse'),
newCreateDataSetResponse,
-- ** CreateEventAction
CreateEventAction (CreateEventAction'),
newCreateEventAction,
CreateEventActionResponse (CreateEventActionResponse'),
newCreateEventActionResponse,
-- ** CreateJob
CreateJob (CreateJob'),
newCreateJob,
CreateJobResponse (CreateJobResponse'),
newCreateJobResponse,
-- ** CreateRevision
CreateRevision (CreateRevision'),
newCreateRevision,
CreateRevisionResponse (CreateRevisionResponse'),
newCreateRevisionResponse,
-- ** DeleteAsset
DeleteAsset (DeleteAsset'),
newDeleteAsset,
DeleteAssetResponse (DeleteAssetResponse'),
newDeleteAssetResponse,
-- ** DeleteDataSet
DeleteDataSet (DeleteDataSet'),
newDeleteDataSet,
DeleteDataSetResponse (DeleteDataSetResponse'),
newDeleteDataSetResponse,
-- ** DeleteEventAction
DeleteEventAction (DeleteEventAction'),
newDeleteEventAction,
DeleteEventActionResponse (DeleteEventActionResponse'),
newDeleteEventActionResponse,
-- ** DeleteRevision
DeleteRevision (DeleteRevision'),
newDeleteRevision,
DeleteRevisionResponse (DeleteRevisionResponse'),
newDeleteRevisionResponse,
-- ** GetAsset
GetAsset (GetAsset'),
newGetAsset,
GetAssetResponse (GetAssetResponse'),
newGetAssetResponse,
-- ** GetDataSet
GetDataSet (GetDataSet'),
newGetDataSet,
GetDataSetResponse (GetDataSetResponse'),
newGetDataSetResponse,
-- ** GetEventAction
GetEventAction (GetEventAction'),
newGetEventAction,
GetEventActionResponse (GetEventActionResponse'),
newGetEventActionResponse,
-- ** GetJob
GetJob (GetJob'),
newGetJob,
GetJobResponse (GetJobResponse'),
newGetJobResponse,
-- ** GetRevision
GetRevision (GetRevision'),
newGetRevision,
GetRevisionResponse (GetRevisionResponse'),
newGetRevisionResponse,
-- ** ListDataSetRevisions (Paginated)
ListDataSetRevisions (ListDataSetRevisions'),
newListDataSetRevisions,
ListDataSetRevisionsResponse (ListDataSetRevisionsResponse'),
newListDataSetRevisionsResponse,
-- ** ListDataSets (Paginated)
ListDataSets (ListDataSets'),
newListDataSets,
ListDataSetsResponse (ListDataSetsResponse'),
newListDataSetsResponse,
-- ** ListEventActions (Paginated)
ListEventActions (ListEventActions'),
newListEventActions,
ListEventActionsResponse (ListEventActionsResponse'),
newListEventActionsResponse,
-- ** ListJobs (Paginated)
ListJobs (ListJobs'),
newListJobs,
ListJobsResponse (ListJobsResponse'),
newListJobsResponse,
-- ** ListRevisionAssets (Paginated)
ListRevisionAssets (ListRevisionAssets'),
newListRevisionAssets,
ListRevisionAssetsResponse (ListRevisionAssetsResponse'),
newListRevisionAssetsResponse,
-- ** ListTagsForResource
ListTagsForResource (ListTagsForResource'),
newListTagsForResource,
ListTagsForResourceResponse (ListTagsForResourceResponse'),
newListTagsForResourceResponse,
-- ** RevokeRevision
RevokeRevision (RevokeRevision'),
newRevokeRevision,
RevokeRevisionResponse (RevokeRevisionResponse'),
newRevokeRevisionResponse,
-- ** SendApiAsset
SendApiAsset (SendApiAsset'),
newSendApiAsset,
SendApiAssetResponse (SendApiAssetResponse'),
newSendApiAssetResponse,
-- ** StartJob
StartJob (StartJob'),
newStartJob,
StartJobResponse (StartJobResponse'),
newStartJobResponse,
-- ** TagResource
TagResource (TagResource'),
newTagResource,
TagResourceResponse (TagResourceResponse'),
newTagResourceResponse,
-- ** UntagResource
UntagResource (UntagResource'),
newUntagResource,
UntagResourceResponse (UntagResourceResponse'),
newUntagResourceResponse,
-- ** UpdateAsset
UpdateAsset (UpdateAsset'),
newUpdateAsset,
UpdateAssetResponse (UpdateAssetResponse'),
newUpdateAssetResponse,
-- ** UpdateDataSet
UpdateDataSet (UpdateDataSet'),
newUpdateDataSet,
UpdateDataSetResponse (UpdateDataSetResponse'),
newUpdateDataSetResponse,
-- ** UpdateEventAction
UpdateEventAction (UpdateEventAction'),
newUpdateEventAction,
UpdateEventActionResponse (UpdateEventActionResponse'),
newUpdateEventActionResponse,
-- ** UpdateRevision
UpdateRevision (UpdateRevision'),
newUpdateRevision,
UpdateRevisionResponse (UpdateRevisionResponse'),
newUpdateRevisionResponse,
-- * Types
-- ** AssetType
AssetType (..),
-- ** Code
Code (..),
-- ** DatabaseLFTagPolicyPermission
DatabaseLFTagPolicyPermission (..),
-- ** JobErrorLimitName
JobErrorLimitName (..),
-- ** JobErrorResourceTypes
JobErrorResourceTypes (..),
-- ** LFPermission
LFPermission (..),
-- ** LFResourceType
LFResourceType (..),
-- ** LakeFormationDataPermissionType
LakeFormationDataPermissionType (..),
-- ** Origin
Origin (..),
-- ** ProtocolType
ProtocolType (..),
-- ** ServerSideEncryptionTypes
ServerSideEncryptionTypes (..),
-- ** State
State (..),
-- ** TableTagPolicyLFPermission
TableTagPolicyLFPermission (..),
-- ** Type
Type (..),
-- ** Action
Action (Action'),
newAction,
-- ** ApiGatewayApiAsset
ApiGatewayApiAsset (ApiGatewayApiAsset'),
newApiGatewayApiAsset,
-- ** AssetDestinationEntry
AssetDestinationEntry (AssetDestinationEntry'),
newAssetDestinationEntry,
-- ** AssetDetails
AssetDetails (AssetDetails'),
newAssetDetails,
-- ** AssetEntry
AssetEntry (AssetEntry'),
newAssetEntry,
-- ** AssetSourceEntry
AssetSourceEntry (AssetSourceEntry'),
newAssetSourceEntry,
-- ** AutoExportRevisionDestinationEntry
AutoExportRevisionDestinationEntry (AutoExportRevisionDestinationEntry'),
newAutoExportRevisionDestinationEntry,
-- ** AutoExportRevisionToS3RequestDetails
AutoExportRevisionToS3RequestDetails (AutoExportRevisionToS3RequestDetails'),
newAutoExportRevisionToS3RequestDetails,
-- ** CreateS3DataAccessFromS3BucketRequestDetails
CreateS3DataAccessFromS3BucketRequestDetails (CreateS3DataAccessFromS3BucketRequestDetails'),
newCreateS3DataAccessFromS3BucketRequestDetails,
-- ** CreateS3DataAccessFromS3BucketResponseDetails
CreateS3DataAccessFromS3BucketResponseDetails (CreateS3DataAccessFromS3BucketResponseDetails'),
newCreateS3DataAccessFromS3BucketResponseDetails,
-- ** DataSetEntry
DataSetEntry (DataSetEntry'),
newDataSetEntry,
-- ** DatabaseLFTagPolicy
DatabaseLFTagPolicy (DatabaseLFTagPolicy'),
newDatabaseLFTagPolicy,
-- ** DatabaseLFTagPolicyAndPermissions
DatabaseLFTagPolicyAndPermissions (DatabaseLFTagPolicyAndPermissions'),
newDatabaseLFTagPolicyAndPermissions,
-- ** Details
Details (Details'),
newDetails,
-- ** Event
Event (Event'),
newEvent,
-- ** EventActionEntry
EventActionEntry (EventActionEntry'),
newEventActionEntry,
-- ** ExportAssetToSignedUrlRequestDetails
ExportAssetToSignedUrlRequestDetails (ExportAssetToSignedUrlRequestDetails'),
newExportAssetToSignedUrlRequestDetails,
-- ** ExportAssetToSignedUrlResponseDetails
ExportAssetToSignedUrlResponseDetails (ExportAssetToSignedUrlResponseDetails'),
newExportAssetToSignedUrlResponseDetails,
-- ** ExportAssetsToS3RequestDetails
ExportAssetsToS3RequestDetails (ExportAssetsToS3RequestDetails'),
newExportAssetsToS3RequestDetails,
-- ** ExportAssetsToS3ResponseDetails
ExportAssetsToS3ResponseDetails (ExportAssetsToS3ResponseDetails'),
newExportAssetsToS3ResponseDetails,
-- ** ExportRevisionsToS3RequestDetails
ExportRevisionsToS3RequestDetails (ExportRevisionsToS3RequestDetails'),
newExportRevisionsToS3RequestDetails,
-- ** ExportRevisionsToS3ResponseDetails
ExportRevisionsToS3ResponseDetails (ExportRevisionsToS3ResponseDetails'),
newExportRevisionsToS3ResponseDetails,
-- ** ExportServerSideEncryption
ExportServerSideEncryption (ExportServerSideEncryption'),
newExportServerSideEncryption,
-- ** ImportAssetFromApiGatewayApiRequestDetails
ImportAssetFromApiGatewayApiRequestDetails (ImportAssetFromApiGatewayApiRequestDetails'),
newImportAssetFromApiGatewayApiRequestDetails,
-- ** ImportAssetFromApiGatewayApiResponseDetails
ImportAssetFromApiGatewayApiResponseDetails (ImportAssetFromApiGatewayApiResponseDetails'),
newImportAssetFromApiGatewayApiResponseDetails,
-- ** ImportAssetFromSignedUrlJobErrorDetails
ImportAssetFromSignedUrlJobErrorDetails (ImportAssetFromSignedUrlJobErrorDetails'),
newImportAssetFromSignedUrlJobErrorDetails,
-- ** ImportAssetFromSignedUrlRequestDetails
ImportAssetFromSignedUrlRequestDetails (ImportAssetFromSignedUrlRequestDetails'),
newImportAssetFromSignedUrlRequestDetails,
-- ** ImportAssetFromSignedUrlResponseDetails
ImportAssetFromSignedUrlResponseDetails (ImportAssetFromSignedUrlResponseDetails'),
newImportAssetFromSignedUrlResponseDetails,
-- ** ImportAssetsFromLakeFormationTagPolicyRequestDetails
ImportAssetsFromLakeFormationTagPolicyRequestDetails (ImportAssetsFromLakeFormationTagPolicyRequestDetails'),
newImportAssetsFromLakeFormationTagPolicyRequestDetails,
-- ** ImportAssetsFromLakeFormationTagPolicyResponseDetails
ImportAssetsFromLakeFormationTagPolicyResponseDetails (ImportAssetsFromLakeFormationTagPolicyResponseDetails'),
newImportAssetsFromLakeFormationTagPolicyResponseDetails,
-- ** ImportAssetsFromRedshiftDataSharesRequestDetails
ImportAssetsFromRedshiftDataSharesRequestDetails (ImportAssetsFromRedshiftDataSharesRequestDetails'),
newImportAssetsFromRedshiftDataSharesRequestDetails,
-- ** ImportAssetsFromRedshiftDataSharesResponseDetails
ImportAssetsFromRedshiftDataSharesResponseDetails (ImportAssetsFromRedshiftDataSharesResponseDetails'),
newImportAssetsFromRedshiftDataSharesResponseDetails,
-- ** ImportAssetsFromS3RequestDetails
ImportAssetsFromS3RequestDetails (ImportAssetsFromS3RequestDetails'),
newImportAssetsFromS3RequestDetails,
-- ** ImportAssetsFromS3ResponseDetails
ImportAssetsFromS3ResponseDetails (ImportAssetsFromS3ResponseDetails'),
newImportAssetsFromS3ResponseDetails,
-- ** JobEntry
JobEntry (JobEntry'),
newJobEntry,
-- ** JobError
JobError (JobError'),
newJobError,
-- ** LFResourceDetails
LFResourceDetails (LFResourceDetails'),
newLFResourceDetails,
-- ** LFTag
LFTag (LFTag'),
newLFTag,
-- ** LFTagPolicyDetails
LFTagPolicyDetails (LFTagPolicyDetails'),
newLFTagPolicyDetails,
-- ** LakeFormationDataPermissionAsset
LakeFormationDataPermissionAsset (LakeFormationDataPermissionAsset'),
newLakeFormationDataPermissionAsset,
-- ** LakeFormationDataPermissionDetails
LakeFormationDataPermissionDetails (LakeFormationDataPermissionDetails'),
newLakeFormationDataPermissionDetails,
-- ** OriginDetails
OriginDetails (OriginDetails'),
newOriginDetails,
-- ** RedshiftDataShareAsset
RedshiftDataShareAsset (RedshiftDataShareAsset'),
newRedshiftDataShareAsset,
-- ** RedshiftDataShareAssetSourceEntry
RedshiftDataShareAssetSourceEntry (RedshiftDataShareAssetSourceEntry'),
newRedshiftDataShareAssetSourceEntry,
-- ** RequestDetails
RequestDetails (RequestDetails'),
newRequestDetails,
-- ** ResponseDetails
ResponseDetails (ResponseDetails'),
newResponseDetails,
-- ** RevisionDestinationEntry
RevisionDestinationEntry (RevisionDestinationEntry'),
newRevisionDestinationEntry,
-- ** RevisionEntry
RevisionEntry (RevisionEntry'),
newRevisionEntry,
-- ** RevisionPublished
RevisionPublished (RevisionPublished'),
newRevisionPublished,
-- ** S3DataAccessAsset
S3DataAccessAsset (S3DataAccessAsset'),
newS3DataAccessAsset,
-- ** S3DataAccessAssetSourceEntry
S3DataAccessAssetSourceEntry (S3DataAccessAssetSourceEntry'),
newS3DataAccessAssetSourceEntry,
-- ** S3SnapshotAsset
S3SnapshotAsset (S3SnapshotAsset'),
newS3SnapshotAsset,
-- ** TableLFTagPolicy
TableLFTagPolicy (TableLFTagPolicy'),
newTableLFTagPolicy,
-- ** TableLFTagPolicyAndPermissions
TableLFTagPolicyAndPermissions (TableLFTagPolicyAndPermissions'),
newTableLFTagPolicyAndPermissions,
)
where
import Amazonka.DataExchange.CancelJob
import Amazonka.DataExchange.CreateDataSet
import Amazonka.DataExchange.CreateEventAction
import Amazonka.DataExchange.CreateJob
import Amazonka.DataExchange.CreateRevision
import Amazonka.DataExchange.DeleteAsset
import Amazonka.DataExchange.DeleteDataSet
import Amazonka.DataExchange.DeleteEventAction
import Amazonka.DataExchange.DeleteRevision
import Amazonka.DataExchange.GetAsset
import Amazonka.DataExchange.GetDataSet
import Amazonka.DataExchange.GetEventAction
import Amazonka.DataExchange.GetJob
import Amazonka.DataExchange.GetRevision
import Amazonka.DataExchange.Lens
import Amazonka.DataExchange.ListDataSetRevisions
import Amazonka.DataExchange.ListDataSets
import Amazonka.DataExchange.ListEventActions
import Amazonka.DataExchange.ListJobs
import Amazonka.DataExchange.ListRevisionAssets
import Amazonka.DataExchange.ListTagsForResource
import Amazonka.DataExchange.RevokeRevision
import Amazonka.DataExchange.SendApiAsset
import Amazonka.DataExchange.StartJob
import Amazonka.DataExchange.TagResource
import Amazonka.DataExchange.Types
import Amazonka.DataExchange.UntagResource
import Amazonka.DataExchange.UpdateAsset
import Amazonka.DataExchange.UpdateDataSet
import Amazonka.DataExchange.UpdateEventAction
import Amazonka.DataExchange.UpdateRevision
import Amazonka.DataExchange.Waiters
-- $errors
-- Error matchers are designed for use with the functions provided by
-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.
-- This allows catching (and rethrowing) service specific errors returned
-- by 'DataExchange'.
-- $operations
-- Some AWS operations return results that are incomplete and require subsequent
-- requests in order to obtain the entire result set. The process of sending
-- subsequent requests to continue where a previous request left off is called
-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to
-- 1000 objects at a time, and you must send subsequent requests with the
-- appropriate Marker in order to retrieve the next page of results.
--
-- Operations that have an 'AWSPager' instance can transparently perform subsequent
-- requests, correctly setting Markers and other request facets to iterate through
-- the entire result set of a truncated API operation. Operations which support
-- this have an additional note in the documentation.
--
-- Many operations have the ability to filter results on the server side. See the
-- individual operation parameters for details.
-- $waiters
-- Waiters poll by repeatedly sending a request until some remote success condition
-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification
-- determines how many attempts should be made, in addition to delay and retry strategies.