{"note":"OpenAPI conversion -- returning structured metadata","name":"amazonaws-com-servicecatalog-appregistry","description":"AWS Service Catalog App Registry","version":"2020-06-24","base_url":"","endpoints":24,"raw":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS Service Catalog App Registry\n@version 2020-06-24\n@auth AWS SigV4\n@endpoints 24\n@hint download_for_search\n@toc applications(13), attribute-groups(5), configuration(2), tags(3), sync(1)\n\n@group applications\n@endpoint PUT /applications/{application}/attribute-groups/{attributeGroup}\n@desc Associates an attribute group with an application to augment the application's metadata with the group's attributes. This feature enables applications to be described with user-defined details that are machine-readable, such as third-party integrations.\n@required {application: str, attributeGroup: str}\n@returns(200) {applicationArn: str?, attributeGroupArn: str?}\n\n@endpoint PUT /applications/{application}/resources/{resourceType}/{resource}\n@desc Associates a resource with an application. The resource can be specified by its ARN or name. The application can be specified by ARN, ID, or name.   Minimum permissions   You must have the following permissions to associate a resource using the OPTIONS parameter set to APPLY_APPLICATION_TAG.     tag:GetResources     tag:TagResources     You must also have these additional permissions if you don't use the AWSServiceCatalogAppRegistryFullAccess policy. For more information, see AWSServiceCatalogAppRegistryFullAccess in the AppRegistry Administrator Guide.     resource-groups:AssociateResource     cloudformation:UpdateStack     cloudformation:DescribeStacks      In addition, you must have the tagging permission defined by the Amazon Web Services service that creates the resource. For more information, see TagResources in the Resource Groups Tagging API Reference.\n@required {application: str, resourceType: str, resource: str}\n@optional {options: [str]}\n@returns(200) {applicationArn: str?, resourceArn: str?, options: [str]?}\n\n@endpoint POST /applications\n@desc Creates a new application that is the top-level node in a hierarchy of related cloud resource abstractions.\n@required {name: str, clientToken: str}\n@optional {description: str, tags: map<str,str>}\n@returns(200) {application: Application?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, tags: map<str,str>?, applicationTag: map<str,str>?}}\n\n@endgroup\n\n@group attribute-groups\n@endpoint POST /attribute-groups\n@desc Creates a new attribute group as a container for user-defined attributes. This feature enables users to have full control over their cloud application's metadata in a rich machine-readable format to facilitate integration with automated workflows and third-party tools.\n@required {name: str, attributes: str, clientToken: str}\n@optional {description: str, tags: map<str,str>}\n@returns(200) {attributeGroup: AttributeGroup?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, tags: map<str,str>?}}\n\n@endgroup\n\n@group applications\n@endpoint DELETE /applications/{application}\n@desc Deletes an application that is specified either by its application ID, name, or ARN. All associated attribute groups and resources must be disassociated from it before deleting an application.\n@required {application: str}\n@returns(200) {application: ApplicationSummary?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?}}\n\n@endgroup\n\n@group attribute-groups\n@endpoint DELETE /attribute-groups/{attributeGroup}\n@desc Deletes an attribute group, specified either by its attribute group ID, name, or ARN.\n@required {attributeGroup: str}\n@returns(200) {attributeGroup: AttributeGroupSummary?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, createdBy: str?}}\n\n@endgroup\n\n@group applications\n@endpoint DELETE /applications/{application}/attribute-groups/{attributeGroup}\n@desc Disassociates an attribute group from an application to remove the extra attributes contained in the attribute group from the application's metadata. This operation reverts AssociateAttributeGroup.\n@required {application: str, attributeGroup: str}\n@returns(200) {applicationArn: str?, attributeGroupArn: str?}\n\n@endpoint DELETE /applications/{application}/resources/{resourceType}/{resource}\n@desc Disassociates a resource from application. Both the resource and the application can be specified either by ID or name.   Minimum permissions   You must have the following permissions to remove a resource that's been associated with an application using the APPLY_APPLICATION_TAG option for AssociateResource.     tag:GetResources     tag:UntagResources     You must also have the following permissions if you don't use the AWSServiceCatalogAppRegistryFullAccess policy. For more information, see AWSServiceCatalogAppRegistryFullAccess in the AppRegistry Administrator Guide.     resource-groups:DisassociateResource     cloudformation:UpdateStack     cloudformation:DescribeStacks      In addition, you must have the tagging permission defined by the Amazon Web Services service that creates the resource. For more information, see UntagResources in the Resource Groups Tagging API Reference.\n@required {application: str, resourceType: str, resource: str}\n@returns(200) {applicationArn: str?, resourceArn: str?}\n\n@endpoint GET /applications/{application}\n@desc Retrieves metadata information about one of your applications. The application can be specified by its ARN, ID, or name (which is unique within one account in one region at a given point in time). Specify by ARN or ID in automated workflows if you want to make sure that the exact same application is returned or a ResourceNotFoundException is thrown, avoiding the ABA addressing problem.\n@required {application: str}\n@returns(200) {id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, associatedResourceCount: int?, tags: map<str,str>?, integrations: Integrations?{resourceGroup: ResourceGroup?{state: str?, arn: str?, errorMessage: str?}, applicationTagResourceGroup: ResourceGroup?{state: str?, arn: str?, errorMessage: str?}}, applicationTag: map<str,str>?}\n\n@endpoint GET /applications/{application}/resources/{resourceType}/{resource}\n@desc Gets the resource associated with the application.\n@required {application: str, resourceType: str, resource: str}\n@optional {nextToken: str, resourceTagStatus: [str], maxResults: int}\n@returns(200) {resource: Resource?{name: str?, arn: str?, associationTime: str(timestamp)?, integrations: ResourceIntegrations?{resourceGroup: ResourceGroup?{state: str?, arn: str?, errorMessage: str?}}}, options: [str]?, applicationTagResult: ApplicationTagResult?{applicationTagStatus: str?, errorMessage: str?, resources: [ResourcesListItem]?, nextToken: str?}}\n\n@endgroup\n\n@group attribute-groups\n@endpoint GET /attribute-groups/{attributeGroup}\n@desc Retrieves an attribute group by its ARN, ID, or name. The attribute group can be specified by its ARN, ID, or name.\n@required {attributeGroup: str}\n@returns(200) {id: str?, arn: str?, name: str?, description: str?, attributes: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, tags: map<str,str>?, createdBy: str?}\n\n@endgroup\n\n@group configuration\n@endpoint GET /configuration\n@desc Retrieves a TagKey configuration from an account.\n@returns(200) {configuration: AppRegistryConfiguration?{tagQueryConfiguration: TagQueryConfiguration?{tagKey: str?}}}\n\n@endgroup\n\n@group applications\n@endpoint GET /applications\n@desc Retrieves a list of all of your applications. Results are paginated.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {applications: [ApplicationSummary]?, nextToken: str?}\n\n@endpoint GET /applications/{application}/attribute-groups\n@desc Lists all attribute groups that are associated with specified application. Results are paginated.\n@required {application: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {attributeGroups: [str]?, nextToken: str?}\n\n@endpoint GET /applications/{application}/resources\n@desc Lists all of the resources that are associated with the specified application. Results are paginated.    If you share an application, and a consumer account associates a tag query to the application, all of the users who can access the application can also view the tag values in all accounts that are associated with it using this API.\n@required {application: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {resources: [ResourceInfo]?, nextToken: str?}\n\n@endgroup\n\n@group attribute-groups\n@endpoint GET /attribute-groups\n@desc Lists all attribute groups which you have access to. Results are paginated.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {attributeGroups: [AttributeGroupSummary]?, nextToken: str?}\n\n@endgroup\n\n@group applications\n@endpoint GET /applications/{application}/attribute-group-details\n@desc Lists the details of all attribute groups associated with a specific application. The results display in pages.\n@required {application: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {attributeGroupsDetails: [AttributeGroupDetails]?, nextToken: str?}\n\n@endgroup\n\n@group tags\n@endpoint GET /tags/{resourceArn}\n@desc Lists all of the tags on the resource.\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endgroup\n\n@group configuration\n@endpoint PUT /configuration\n@desc Associates a TagKey configuration to an account.\n@required {configuration: AppRegistryConfiguration}\n\n@endgroup\n\n@group sync\n@endpoint POST /sync/{resourceType}/{resource}\n@desc Syncs the resource with current AppRegistry records. Specifically, the resource’s AppRegistry system tags sync with its associated application. We remove the resource's AppRegistry system tags if it does not associate with the application. The caller must have permissions to read and update the resource.\n@required {resourceType: str, resource: str}\n@returns(200) {applicationArn: str?, resourceArn: str?, actionTaken: str?}\n\n@endgroup\n\n@group tags\n@endpoint POST /tags/{resourceArn}\n@desc Assigns one or more tags (key-value pairs) to the specified resource. Each tag consists of a key and an optional value. If a tag with the same key is already associated with the resource, this action updates its value. This operation returns an empty response if the call was successful.\n@required {resourceArn: str, tags: map<str,str>}\n\n@endpoint DELETE /tags/{resourceArn}\n@desc Removes tags from a resource. This operation returns an empty response if the call was successful.\n@required {resourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group applications\n@endpoint PATCH /applications/{application}\n@desc Updates an existing application with new attributes.\n@required {application: str}\n@optional {name: str, description: str}\n@returns(200) {application: Application?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, tags: map<str,str>?, applicationTag: map<str,str>?}}\n\n@endgroup\n\n@group attribute-groups\n@endpoint PATCH /attribute-groups/{attributeGroup}\n@desc Updates an existing attribute group with new details.\n@required {attributeGroup: str}\n@optional {name: str, description: str, attributes: str}\n@returns(200) {attributeGroup: AttributeGroup?{id: str?, arn: str?, name: str?, description: str?, creationTime: str(timestamp)?, lastUpdateTime: str(timestamp)?, tags: map<str,str>?}}\n\n@endgroup\n\n@end\n"}