@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon AppIntegrations Service
@version 2020-07-29
@auth AWS SigV4
@endpoints 23
@hint download_for_search
@toc applications(6), dataIntegrations(8), eventIntegrations(6), tags(3)

@group applications
@endpoint POST /applications
@required {Name: str, Namespace: str, ApplicationSourceConfig: ApplicationSourceConfig}
@optional {Description: str, Subscriptions: [Subscription], Publications: [Publication], ClientToken: str, Tags: map<str,str>, Permissions: [str]}
@returns(200) {Arn: str?, Id: str?}

@endgroup

@group dataIntegrations
@endpoint POST /dataIntegrations
@required {Name: str, KmsKey: str}
@optional {Description: str, SourceURI: str, ScheduleConfig: ScheduleConfiguration, Tags: map<str,str>, ClientToken: str, FileConfiguration: FileConfiguration, ObjectConfiguration: map<str,map<str,[str]>>}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, KmsKey: str?, SourceURI: str?, ScheduleConfiguration: ScheduleConfiguration?{FirstExecutionFrom: str?, Object: str?, ScheduleExpression: str}, Tags: map<str,str>?, ClientToken: str?, FileConfiguration: FileConfiguration?{Folders: [str], Filters: map<str,[str]>?}, ObjectConfiguration: map<str,map<str,[str]>>?}

@endpoint POST /dataIntegrations/{Identifier}/associations
@required {DataIntegrationIdentifier: str}
@optional {ClientId: str, ObjectConfiguration: map<str,map<str,[str]>>, DestinationURI: str, ClientAssociationMetadata: map<str,str>, ClientToken: str, ExecutionConfiguration: ExecutionConfiguration}
@returns(200) {DataIntegrationAssociationId: str?, DataIntegrationArn: str?}

@endgroup

@group eventIntegrations
@endpoint POST /eventIntegrations
@required {Name: str, EventFilter: EventFilter, EventBridgeBus: str}
@optional {Description: str, ClientToken: str, Tags: map<str,str>}
@returns(200) {EventIntegrationArn: str?}

@endgroup

@group applications
@endpoint DELETE /applications/{ApplicationIdentifier}
@required {Arn: str}

@endgroup

@group dataIntegrations
@endpoint DELETE /dataIntegrations/{Identifier}
@required {DataIntegrationIdentifier: str}

@endgroup

@group eventIntegrations
@endpoint DELETE /eventIntegrations/{Name}
@required {Name: str}

@endgroup

@group applications
@endpoint GET /applications/{ApplicationIdentifier}
@required {Arn: str}
@returns(200) {Arn: str?, Id: str?, Name: str?, Namespace: str?, Description: str?, ApplicationSourceConfig: ApplicationSourceConfig?{ExternalUrlConfig: ExternalUrlConfig?{AccessUrl: str, ApprovedOrigins: [str]?}}, Subscriptions: [Subscription]?, Publications: [Publication]?, CreatedTime: str(timestamp)?, LastModifiedTime: str(timestamp)?, Tags: map<str,str>?, Permissions: [str]?}

@endgroup

@group dataIntegrations
@endpoint GET /dataIntegrations/{Identifier}
@required {Identifier: str}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, KmsKey: str?, SourceURI: str?, ScheduleConfiguration: ScheduleConfiguration?{FirstExecutionFrom: str?, Object: str?, ScheduleExpression: str}, Tags: map<str,str>?, FileConfiguration: FileConfiguration?{Folders: [str], Filters: map<str,[str]>?}, ObjectConfiguration: map<str,map<str,[str]>>?}

@endgroup

@group eventIntegrations
@endpoint GET /eventIntegrations/{Name}
@required {Name: str}
@returns(200) {Name: str?, Description: str?, EventIntegrationArn: str?, EventBridgeBus: str?, EventFilter: EventFilter?{Source: str}, Tags: map<str,str>?}

@endgroup

@group applications
@endpoint GET /applications/{ApplicationIdentifier}/associations
@required {ApplicationId: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {ApplicationAssociations: [ApplicationAssociationSummary]?, NextToken: str?}

@endpoint GET /applications
@optional {nextToken: str, maxResults: int}
@returns(200) {Applications: [ApplicationSummary]?, NextToken: str?}

@endgroup

@group dataIntegrations
@endpoint GET /dataIntegrations/{Identifier}/associations
@required {DataIntegrationIdentifier: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {DataIntegrationAssociations: [DataIntegrationAssociationSummary]?, NextToken: str?}

@endpoint GET /dataIntegrations
@optional {nextToken: str, maxResults: int}
@returns(200) {DataIntegrations: [DataIntegrationSummary]?, NextToken: str?}

@endgroup

@group eventIntegrations
@endpoint GET /eventIntegrations/{Name}/associations
@required {EventIntegrationName: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {EventIntegrationAssociations: [EventIntegrationAssociation]?, NextToken: str?}

@endpoint GET /eventIntegrations
@optional {nextToken: str, maxResults: int}
@returns(200) {EventIntegrations: [EventIntegration]?, NextToken: str?}

@endgroup

@group tags
@endpoint GET /tags/{resourceArn}
@required {resourceArn: str}
@returns(200) {tags: map<str,str>?}

@endpoint POST /tags/{resourceArn}
@required {resourceArn: str, tags: map<str,str>}

@endpoint DELETE /tags/{resourceArn}
@required {resourceArn: str, tagKeys: [str]}

@endgroup

@group applications
@endpoint PATCH /applications/{ApplicationIdentifier}
@required {Arn: str}
@optional {Name: str, Description: str, ApplicationSourceConfig: ApplicationSourceConfig, Subscriptions: [Subscription], Publications: [Publication], Permissions: [str]}

@endgroup

@group dataIntegrations
@endpoint PATCH /dataIntegrations/{Identifier}
@required {Identifier: str}
@optional {Name: str, Description: str}

@endpoint PATCH /dataIntegrations/{Identifier}/associations/{DataIntegrationAssociationIdentifier}
@required {DataIntegrationIdentifier: str, DataIntegrationAssociationIdentifier: str, ExecutionConfiguration: ExecutionConfiguration}

@endgroup

@group eventIntegrations
@endpoint PATCH /eventIntegrations/{Name}
@required {Name: str}
@optional {Description: str}

@endgroup

@end
