# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.AppIntegrations do
@moduledoc """
*
[Amazon AppIntegrations actions](https://docs.aws.amazon.com/connect/latest/APIReference/API_Operations_Amazon_AppIntegrations_Service.html)
*
[Amazon AppIntegrations data
types](https://docs.aws.amazon.com/connect/latest/APIReference/API_Types_Amazon_AppIntegrations_Service.html)
The Amazon AppIntegrations service enables you to configure and reuse
connections to external
applications.
For information about how you can use external applications with Amazon Connect,
see
the following topics in the *Amazon Connect Administrator
Guide*:
*
[Third-party applications (3p apps) in the agent
workspace](https://docs.aws.amazon.com/connect/latest/adminguide/3p-apps.html)
*
[Use Amazon Q in Connect for generative AI–powered agent assistance in
real-time](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-q-connect.html)
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
external_url_config() :: %{
"AccessUrl" => String.t() | atom(),
"ApprovedOrigins" => list(String.t() | atom())
}
"""
@type external_url_config() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_integration_association_summary() :: %{
"ClientId" => String.t() | atom(),
"DataIntegrationArn" => String.t() | atom(),
"DataIntegrationAssociationArn" => String.t() | atom(),
"DestinationURI" => String.t() | atom(),
"ExecutionConfiguration" => execution_configuration(),
"LastExecutionStatus" => last_execution_status()
}
"""
@type data_integration_association_summary() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
tag_resource_request() :: %{
required("tags") => map()
}
"""
@type tag_resource_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_data_integration_response() :: %{}
"""
@type update_data_integration_response() :: %{}
@typedoc """
## Example:
iframe_config() :: %{
"Allow" => list(String.t() | atom()),
"Sandbox" => list(String.t() | atom())
}
"""
@type iframe_config() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
unsupported_operation_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type unsupported_operation_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_event_integration_request() :: %{}
"""
@type get_event_integration_request() :: %{}
@typedoc """
## Example:
last_execution_status() :: %{
"ExecutionStatus" => list(any()),
"StatusMessage" => String.t() | atom()
}
"""
@type last_execution_status() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
untag_resource_response() :: %{}
"""
@type untag_resource_response() :: %{}
@typedoc """
## Example:
list_data_integration_associations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_data_integration_associations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_data_integration_associations_response() :: %{
"DataIntegrationAssociations" => list(data_integration_association_summary()),
"NextToken" => String.t() | atom()
}
"""
@type list_data_integration_associations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_data_integrations_response() :: %{
"DataIntegrations" => list(data_integration_summary()),
"NextToken" => String.t() | atom()
}
"""
@type list_data_integrations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_event_integration_response() :: %{
"Description" => String.t() | atom(),
"EventBridgeBus" => String.t() | atom(),
"EventFilter" => event_filter(),
"EventIntegrationArn" => String.t() | atom(),
"Name" => String.t() | atom(),
"Tags" => map()
}
"""
@type get_event_integration_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_data_integration_request() :: %{}
"""
@type get_data_integration_request() :: %{}
@typedoc """
## Example:
application_source_config() :: %{
"ExternalUrlConfig" => external_url_config()
}
"""
@type application_source_config() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_data_integration_association_response() :: %{}
"""
@type update_data_integration_association_response() :: %{}
@typedoc """
## Example:
create_data_integration_request() :: %{
optional("ClientToken") => String.t() | atom(),
optional("Description") => String.t() | atom(),
optional("FileConfiguration") => file_configuration(),
optional("ObjectConfiguration") => map(),
optional("ScheduleConfig") => schedule_configuration(),
optional("SourceURI") => String.t() | atom(),
optional("Tags") => map(),
required("KmsKey") => String.t() | atom(),
required("Name") => String.t() | atom()
}
"""
@type create_data_integration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
untag_resource_request() :: %{
required("tagKeys") => list(String.t() | atom())
}
"""
@type untag_resource_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
contact_handling() :: %{
"Scope" => list(any())
}
"""
@type contact_handling() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_event_integration_associations_response() :: %{
"EventIntegrationAssociations" => list(event_integration_association()),
"NextToken" => String.t() | atom()
}
"""
@type list_event_integration_associations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_event_integration_associations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_event_integration_associations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_data_integration_association_request() :: %{
optional("ClientAssociationMetadata") => map(),
optional("ClientId") => String.t() | atom(),
optional("ClientToken") => String.t() | atom(),
optional("DestinationURI") => String.t() | atom(),
optional("ExecutionConfiguration") => execution_configuration(),
optional("ObjectConfiguration") => map()
}
"""
@type create_data_integration_association_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_not_found_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type resource_not_found_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
invalid_request_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type invalid_request_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_event_integration_response() :: %{
"EventIntegrationArn" => String.t() | atom()
}
"""
@type create_event_integration_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
application_association_summary() :: %{
"ApplicationArn" => String.t() | atom(),
"ApplicationAssociationArn" => String.t() | atom(),
"ClientId" => String.t() | atom()
}
"""
@type application_association_summary() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_application_associations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_application_associations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_data_integrations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_data_integrations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_event_integration_request() :: %{
optional("ClientToken") => String.t() | atom(),
optional("Description") => String.t() | atom(),
optional("Tags") => map(),
required("EventBridgeBus") => String.t() | atom(),
required("EventFilter") => event_filter(),
required("Name") => String.t() | atom()
}
"""
@type create_event_integration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_tags_for_resource_response() :: %{
"tags" => map()
}
"""
@type list_tags_for_resource_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_application_request() :: %{
optional("ApplicationConfig") => application_config(),
optional("ClientToken") => String.t() | atom(),
optional("Description") => String.t() | atom(),
optional("IframeConfig") => iframe_config(),
optional("InitializationTimeout") => integer(),
optional("IsService") => boolean(),
optional("Permissions") => list(String.t() | atom()),
optional("Publications") => list(publication()),
optional("Subscriptions") => list(subscription()),
optional("Tags") => map(),
required("ApplicationSourceConfig") => application_source_config(),
required("Name") => String.t() | atom(),
required("Namespace") => String.t() | atom()
}
"""
@type create_application_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_data_integration_response() :: %{
"Arn" => String.t() | atom(),
"Description" => String.t() | atom(),
"FileConfiguration" => file_configuration(),
"Id" => String.t() | atom(),
"KmsKey" => String.t() | atom(),
"Name" => String.t() | atom(),
"ObjectConfiguration" => map(),
"ScheduleConfiguration" => schedule_configuration(),
"SourceURI" => String.t() | atom(),
"Tags" => map()
}
"""
@type get_data_integration_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
resource_quota_exceeded_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type resource_quota_exceeded_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
create_application_response() :: %{
"Arn" => String.t() | atom(),
"Id" => String.t() | atom()
}
"""
@type create_application_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
execution_configuration() :: %{
"ExecutionMode" => list(any()),
"OnDemandConfiguration" => on_demand_configuration(),
"ScheduleConfiguration" => schedule_configuration()
}
"""
@type execution_configuration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
event_filter() :: %{
"Source" => String.t() | atom()
}
"""
@type event_filter() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_event_integration_response() :: %{}
"""
@type update_event_integration_response() :: %{}
@typedoc """
## Example:
update_event_integration_request() :: %{
optional("Description") => String.t() | atom()
}
"""
@type update_event_integration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_application_response() :: %{}
"""
@type delete_application_response() :: %{}
@typedoc """
## Example:
create_data_integration_association_response() :: %{
"DataIntegrationArn" => String.t() | atom(),
"DataIntegrationAssociationId" => String.t() | atom()
}
"""
@type create_data_integration_association_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_event_integration_response() :: %{}
"""
@type delete_event_integration_response() :: %{}
@typedoc """
## Example:
update_application_request() :: %{
optional("ApplicationConfig") => application_config(),
optional("ApplicationSourceConfig") => application_source_config(),
optional("Description") => String.t() | atom(),
optional("IframeConfig") => iframe_config(),
optional("InitializationTimeout") => integer(),
optional("IsService") => boolean(),
optional("Name") => String.t() | atom(),
optional("Permissions") => list(String.t() | atom()),
optional("Publications") => list(publication()),
optional("Subscriptions") => list(subscription())
}
"""
@type update_application_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_application_response() :: %{}
"""
@type update_application_response() :: %{}
@typedoc """
## Example:
publication() :: %{
"Description" => String.t() | atom(),
"Event" => String.t() | atom(),
"Schema" => String.t() | atom()
}
"""
@type publication() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_application_response() :: %{
"ApplicationConfig" => application_config(),
"ApplicationSourceConfig" => application_source_config(),
"Arn" => String.t() | atom(),
"CreatedTime" => non_neg_integer(),
"Description" => String.t() | atom(),
"Id" => String.t() | atom(),
"IframeConfig" => iframe_config(),
"InitializationTimeout" => integer(),
"IsService" => boolean(),
"LastModifiedTime" => non_neg_integer(),
"Name" => String.t() | atom(),
"Namespace" => String.t() | atom(),
"Permissions" => list(String.t() | atom()),
"Publications" => list(publication()),
"Subscriptions" => list(subscription()),
"Tags" => map()
}
"""
@type get_application_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_applications_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_applications_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
access_denied_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type access_denied_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
tag_resource_response() :: %{}
"""
@type tag_resource_response() :: %{}
@typedoc """
## Example:
create_data_integration_response() :: %{
"Arn" => String.t() | atom(),
"ClientToken" => String.t() | atom(),
"Description" => String.t() | atom(),
"FileConfiguration" => file_configuration(),
"Id" => String.t() | atom(),
"KmsKey" => String.t() | atom(),
"Name" => String.t() | atom(),
"ObjectConfiguration" => map(),
"ScheduleConfiguration" => schedule_configuration(),
"SourceURI" => String.t() | atom(),
"Tags" => map()
}
"""
@type create_data_integration_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
update_data_integration_request() :: %{
optional("Description") => String.t() | atom(),
optional("Name") => String.t() | atom()
}
"""
@type update_data_integration_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
internal_service_error() :: %{
"Message" => String.t() | atom()
}
"""
@type internal_service_error() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_data_integration_request() :: %{}
"""
@type delete_data_integration_request() :: %{}
@typedoc """
## Example:
list_tags_for_resource_request() :: %{}
"""
@type list_tags_for_resource_request() :: %{}
@typedoc """
## Example:
update_data_integration_association_request() :: %{
required("ExecutionConfiguration") => execution_configuration()
}
"""
@type update_data_integration_association_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
schedule_configuration() :: %{
"FirstExecutionFrom" => String.t() | atom(),
"Object" => String.t() | atom(),
"ScheduleExpression" => String.t() | atom()
}
"""
@type schedule_configuration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
throttling_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type throttling_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_event_integration_request() :: %{}
"""
@type delete_event_integration_request() :: %{}
@typedoc """
## Example:
subscription() :: %{
"Description" => String.t() | atom(),
"Event" => String.t() | atom()
}
"""
@type subscription() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_data_integration_response() :: %{}
"""
@type delete_data_integration_response() :: %{}
@typedoc """
## Example:
application_summary() :: %{
"Arn" => String.t() | atom(),
"CreatedTime" => non_neg_integer(),
"Id" => String.t() | atom(),
"IsService" => boolean(),
"LastModifiedTime" => non_neg_integer(),
"Name" => String.t() | atom(),
"Namespace" => String.t() | atom()
}
"""
@type application_summary() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_application_associations_response() :: %{
"ApplicationAssociations" => list(application_association_summary()),
"NextToken" => String.t() | atom()
}
"""
@type list_application_associations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_applications_response() :: %{
"Applications" => list(application_summary()),
"NextToken" => String.t() | atom()
}
"""
@type list_applications_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_event_integrations_response() :: %{
"EventIntegrations" => list(event_integration()),
"NextToken" => String.t() | atom()
}
"""
@type list_event_integrations_response() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
list_event_integrations_request() :: %{
optional("MaxResults") => integer(),
optional("NextToken") => String.t() | atom()
}
"""
@type list_event_integrations_request() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
application_config() :: %{
"ContactHandling" => contact_handling()
}
"""
@type application_config() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
file_configuration() :: %{
"Filters" => map(),
"Folders" => list(String.t() | atom())
}
"""
@type file_configuration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
event_integration_association() :: %{
"ClientAssociationMetadata" => map(),
"ClientId" => String.t() | atom(),
"EventBridgeRuleName" => String.t() | atom(),
"EventIntegrationAssociationArn" => String.t() | atom(),
"EventIntegrationAssociationId" => String.t() | atom(),
"EventIntegrationName" => String.t() | atom()
}
"""
@type event_integration_association() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
get_application_request() :: %{}
"""
@type get_application_request() :: %{}
@typedoc """
## Example:
duplicate_resource_exception() :: %{
"Message" => String.t() | atom()
}
"""
@type duplicate_resource_exception() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
event_integration() :: %{
"Description" => String.t() | atom(),
"EventBridgeBus" => String.t() | atom(),
"EventFilter" => event_filter(),
"EventIntegrationArn" => String.t() | atom(),
"Name" => String.t() | atom(),
"Tags" => map()
}
"""
@type event_integration() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
data_integration_summary() :: %{
"Arn" => String.t() | atom(),
"Name" => String.t() | atom(),
"SourceURI" => String.t() | atom()
}
"""
@type data_integration_summary() :: %{(String.t() | atom()) => any()}
@typedoc """
## Example:
delete_application_request() :: %{}
"""
@type delete_application_request() :: %{}
@typedoc """
## Example:
on_demand_configuration() :: %{
"EndTime" => String.t() | atom(),
"StartTime" => String.t() | atom()
}
"""
@type on_demand_configuration() :: %{(String.t() | atom()) => any()}
@type create_application_errors() ::
duplicate_resource_exception()
| throttling_exception()
| internal_service_error()
| access_denied_exception()
| resource_quota_exceeded_exception()
| invalid_request_exception()
| unsupported_operation_exception()
@type create_data_integration_errors() ::
duplicate_resource_exception()
| throttling_exception()
| internal_service_error()
| access_denied_exception()
| resource_quota_exceeded_exception()
| invalid_request_exception()
@type create_data_integration_association_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| resource_quota_exceeded_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type create_event_integration_errors() ::
duplicate_resource_exception()
| throttling_exception()
| internal_service_error()
| access_denied_exception()
| resource_quota_exceeded_exception()
| invalid_request_exception()
@type delete_application_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type delete_data_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type delete_event_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type get_application_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type get_data_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type get_event_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type list_application_associations_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type list_applications_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
@type list_data_integration_associations_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type list_data_integrations_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
@type list_event_integration_associations_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type list_event_integrations_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
@type list_tags_for_resource_errors() ::
throttling_exception()
| internal_service_error()
| invalid_request_exception()
| resource_not_found_exception()
@type tag_resource_errors() ::
throttling_exception()
| internal_service_error()
| invalid_request_exception()
| resource_not_found_exception()
@type untag_resource_errors() ::
throttling_exception()
| internal_service_error()
| invalid_request_exception()
| resource_not_found_exception()
@type update_application_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
| unsupported_operation_exception()
@type update_data_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type update_data_integration_association_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
@type update_event_integration_errors() ::
throttling_exception()
| internal_service_error()
| access_denied_exception()
| invalid_request_exception()
| resource_not_found_exception()
def metadata do
%{
api_version: "2020-07-29",
content_type: "application/x-amz-json-1.1",
credential_scope: nil,
endpoint_prefix: "app-integrations",
global?: false,
hostname: nil,
protocol: "rest-json",
service_id: "AppIntegrations",
signature_version: "v4",
signing_name: "app-integrations",
target_prefix: nil
}
end
@doc """
Creates and persists an Application resource.
"""
@spec create_application(map(), create_application_request(), list()) ::
{:ok, create_application_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_application_errors()}
def create_application(%Client{} = client, input, options \\ []) do
url_path = "/applications"
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 """
Creates and persists a DataIntegration resource.
You cannot create a DataIntegration association for a DataIntegration that has
been
previously associated. Use a different DataIntegration, or recreate the
DataIntegration
using the `CreateDataIntegration` API.
"""
@spec create_data_integration(map(), create_data_integration_request(), list()) ::
{:ok, create_data_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_data_integration_errors()}
def create_data_integration(%Client{} = client, input, options \\ []) do
url_path = "/dataIntegrations"
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 """
Creates and persists a DataIntegrationAssociation resource.
"""
@spec create_data_integration_association(
map(),
String.t() | atom(),
create_data_integration_association_request(),
list()
) ::
{:ok, create_data_integration_association_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_data_integration_association_errors()}
def create_data_integration_association(
%Client{} = client,
data_integration_identifier,
input,
options \\ []
) do
url_path =
"/dataIntegrations/#{AWS.Util.encode_uri(data_integration_identifier)}/associations"
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 """
Creates an EventIntegration, given a specified name, description, and a
reference to an
Amazon EventBridge bus in your account and a partner event source that pushes
events to
that bus.
No objects are created in the your account, only metadata that is persisted on
the
EventIntegration control plane.
"""
@spec create_event_integration(map(), create_event_integration_request(), list()) ::
{:ok, create_event_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, create_event_integration_errors()}
def create_event_integration(%Client{} = client, input, options \\ []) do
url_path = "/eventIntegrations"
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 """
Deletes the Application.
Only Applications that don't have any Application Associations
can be deleted.
"""
@spec delete_application(map(), String.t() | atom(), delete_application_request(), list()) ::
{:ok, delete_application_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_application_errors()}
def delete_application(%Client{} = client, arn, input, options \\ []) do
url_path = "/applications/#{AWS.Util.encode_uri(arn)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deletes the DataIntegration.
Only DataIntegrations that don't have any
DataIntegrationAssociations can be deleted. Deleting a DataIntegration also
deletes the
underlying Amazon AppFlow flow and service linked role.
You cannot create a DataIntegration association for a DataIntegration that has
been previously associated.
Use a different DataIntegration, or recreate the DataIntegration using the
[CreateDataIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html)
API.
"""
@spec delete_data_integration(
map(),
String.t() | atom(),
delete_data_integration_request(),
list()
) ::
{:ok, delete_data_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_data_integration_errors()}
def delete_data_integration(
%Client{} = client,
data_integration_identifier,
input,
options \\ []
) do
url_path = "/dataIntegrations/#{AWS.Util.encode_uri(data_integration_identifier)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Deletes the specified existing event integration.
If the event integration is associated
with clients, the request is rejected.
"""
@spec delete_event_integration(
map(),
String.t() | atom(),
delete_event_integration_request(),
list()
) ::
{:ok, delete_event_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, delete_event_integration_errors()}
def delete_event_integration(%Client{} = client, name, input, options \\ []) do
url_path = "/eventIntegrations/#{AWS.Util.encode_uri(name)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Get an Application resource.
"""
@spec get_application(map(), String.t() | atom(), list()) ::
{:ok, get_application_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_application_errors()}
def get_application(%Client{} = client, arn, options \\ []) do
url_path = "/applications/#{AWS.Util.encode_uri(arn)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Returns information about the DataIntegration.
You cannot create a DataIntegration association for a DataIntegration that has
been previously associated.
Use a different DataIntegration, or recreate the DataIntegration using the
[CreateDataIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html)
API.
"""
@spec get_data_integration(map(), String.t() | atom(), list()) ::
{:ok, get_data_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_data_integration_errors()}
def get_data_integration(%Client{} = client, identifier, options \\ []) do
url_path = "/dataIntegrations/#{AWS.Util.encode_uri(identifier)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Returns information about the event integration.
"""
@spec get_event_integration(map(), String.t() | atom(), list()) ::
{:ok, get_event_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, get_event_integration_errors()}
def get_event_integration(%Client{} = client, name, options \\ []) do
url_path = "/eventIntegrations/#{AWS.Util.encode_uri(name)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Returns a paginated list of application associations for an application.
"""
@spec list_application_associations(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_application_associations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_application_associations_errors()}
def list_application_associations(
%Client{} = client,
application_id,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/applications/#{AWS.Util.encode_uri(application_id)}/associations"
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 """
Lists applications in the account.
"""
@spec list_applications(map(), String.t() | atom() | nil, String.t() | atom() | nil, list()) ::
{:ok, list_applications_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_applications_errors()}
def list_applications(%Client{} = client, max_results \\ nil, next_token \\ nil, options \\ []) do
url_path = "/applications"
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 """
Returns a paginated list of DataIntegration associations in the account.
You cannot create a DataIntegration association for a DataIntegration that has
been previously associated.
Use a different DataIntegration, or recreate the DataIntegration using the
[CreateDataIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html)
API.
"""
@spec list_data_integration_associations(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_data_integration_associations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_data_integration_associations_errors()}
def list_data_integration_associations(
%Client{} = client,
data_integration_identifier,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path =
"/dataIntegrations/#{AWS.Util.encode_uri(data_integration_identifier)}/associations"
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 """
Returns a paginated list of DataIntegrations in the account.
You cannot create a DataIntegration association for a DataIntegration that has
been previously associated.
Use a different DataIntegration, or recreate the DataIntegration using the
[CreateDataIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html)
API.
"""
@spec list_data_integrations(
map(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_data_integrations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_data_integrations_errors()}
def list_data_integrations(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/dataIntegrations"
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 """
Returns a paginated list of event integration associations in the account.
"""
@spec list_event_integration_associations(
map(),
String.t() | atom(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_event_integration_associations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_event_integration_associations_errors()}
def list_event_integration_associations(
%Client{} = client,
event_integration_name,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/eventIntegrations/#{AWS.Util.encode_uri(event_integration_name)}/associations"
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 """
Returns a paginated list of event integrations in the account.
"""
@spec list_event_integrations(
map(),
String.t() | atom() | nil,
String.t() | atom() | nil,
list()
) ::
{:ok, list_event_integrations_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_event_integrations_errors()}
def list_event_integrations(
%Client{} = client,
max_results \\ nil,
next_token \\ nil,
options \\ []
) do
url_path = "/eventIntegrations"
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 """
Lists the tags for the specified resource.
"""
@spec list_tags_for_resource(map(), String.t() | atom(), list()) ::
{:ok, list_tags_for_resource_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_tags_for_resource_errors()}
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 """
Adds the specified tags to the specified resource.
"""
@spec tag_resource(map(), String.t() | atom(), tag_resource_request(), list()) ::
{:ok, tag_resource_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, tag_resource_errors()}
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,
200
)
end
@doc """
Removes the specified tags from the specified resource.
"""
@spec untag_resource(map(), String.t() | atom(), untag_resource_request(), list()) ::
{:ok, untag_resource_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, untag_resource_errors()}
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,
200
)
end
@doc """
Updates and persists an Application resource.
"""
@spec update_application(map(), String.t() | atom(), update_application_request(), list()) ::
{:ok, update_application_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_application_errors()}
def update_application(%Client{} = client, arn, input, options \\ []) do
url_path = "/applications/#{AWS.Util.encode_uri(arn)}"
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 """
Updates the description of a DataIntegration.
You cannot create a DataIntegration association for a DataIntegration that has
been previously associated.
Use a different DataIntegration, or recreate the DataIntegration using the
[CreateDataIntegration](https://docs.aws.amazon.com/appintegrations/latest/APIReference/API_CreateDataIntegration.html)
API.
"""
@spec update_data_integration(
map(),
String.t() | atom(),
update_data_integration_request(),
list()
) ::
{:ok, update_data_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_data_integration_errors()}
def update_data_integration(%Client{} = client, identifier, input, options \\ []) do
url_path = "/dataIntegrations/#{AWS.Util.encode_uri(identifier)}"
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 """
Updates and persists a DataIntegrationAssociation resource.
Updating a DataIntegrationAssociation with ExecutionConfiguration will rerun the
on-demand job.
"""
@spec update_data_integration_association(
map(),
String.t() | atom(),
String.t() | atom(),
update_data_integration_association_request(),
list()
) ::
{:ok, update_data_integration_association_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_data_integration_association_errors()}
def update_data_integration_association(
%Client{} = client,
data_integration_association_identifier,
data_integration_identifier,
input,
options \\ []
) do
url_path =
"/dataIntegrations/#{AWS.Util.encode_uri(data_integration_identifier)}/associations/#{AWS.Util.encode_uri(data_integration_association_identifier)}"
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 """
Updates the description of an event integration.
"""
@spec update_event_integration(
map(),
String.t() | atom(),
update_event_integration_request(),
list()
) ::
{:ok, update_event_integration_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, update_event_integration_errors()}
def update_event_integration(%Client{} = client, name, input, options \\ []) do
url_path = "/eventIntegrations/#{AWS.Util.encode_uri(name)}"
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