import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AssociateAttributeGroupCommand , AssociateAttributeGroupCommandInput , AssociateAttributeGroupCommandOutput , } from "./commands/AssociateAttributeGroupCommand" ; import { AssociateResourceCommand , AssociateResourceCommandInput , AssociateResourceCommandOutput , } from "./commands/AssociateResourceCommand" ; import { CreateApplicationCommand , CreateApplicationCommandInput , CreateApplicationCommandOutput , } from "./commands/CreateApplicationCommand" ; import { CreateAttributeGroupCommand , CreateAttributeGroupCommandInput , CreateAttributeGroupCommandOutput , } from "./commands/CreateAttributeGroupCommand" ; import { DeleteApplicationCommand , DeleteApplicationCommandInput , DeleteApplicationCommandOutput , } from "./commands/DeleteApplicationCommand" ; import { DeleteAttributeGroupCommand , DeleteAttributeGroupCommandInput , DeleteAttributeGroupCommandOutput , } from "./commands/DeleteAttributeGroupCommand" ; import { DisassociateAttributeGroupCommand , DisassociateAttributeGroupCommandInput , DisassociateAttributeGroupCommandOutput , } from "./commands/DisassociateAttributeGroupCommand" ; import { DisassociateResourceCommand , DisassociateResourceCommandInput , DisassociateResourceCommandOutput , } from "./commands/DisassociateResourceCommand" ; import { GetApplicationCommand , GetApplicationCommandInput , GetApplicationCommandOutput , } from "./commands/GetApplicationCommand" ; import { GetAssociatedResourceCommand , GetAssociatedResourceCommandInput , GetAssociatedResourceCommandOutput , } from "./commands/GetAssociatedResourceCommand" ; import { GetAttributeGroupCommand , GetAttributeGroupCommandInput , GetAttributeGroupCommandOutput , } from "./commands/GetAttributeGroupCommand" ; import { ListApplicationsCommand , ListApplicationsCommandInput , ListApplicationsCommandOutput , } from "./commands/ListApplicationsCommand" ; import { ListAssociatedAttributeGroupsCommand , ListAssociatedAttributeGroupsCommandInput , ListAssociatedAttributeGroupsCommandOutput , } from "./commands/ListAssociatedAttributeGroupsCommand" ; import { ListAssociatedResourcesCommand , ListAssociatedResourcesCommandInput , ListAssociatedResourcesCommandOutput , } from "./commands/ListAssociatedResourcesCommand" ; import { ListAttributeGroupsCommand , ListAttributeGroupsCommandInput , ListAttributeGroupsCommandOutput , } from "./commands/ListAttributeGroupsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { SyncResourceCommand , SyncResourceCommandInput , SyncResourceCommandOutput , } from "./commands/SyncResourceCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateApplicationCommand , UpdateApplicationCommandInput , UpdateApplicationCommandOutput , } from "./commands/UpdateApplicationCommand" ; import { UpdateAttributeGroupCommand , UpdateAttributeGroupCommandInput , UpdateAttributeGroupCommandOutput , } from "./commands/UpdateAttributeGroupCommand" ; import { ServiceCatalogAppRegistryClient } from "./ServiceCatalogAppRegistryClient" ; /**
 * <p> Amazon Web Services Service Catalog AppRegistry enables organizations to understand the application context of their Amazon Web Services resources. AppRegistry provides a repository of your applications, their resources, and the application metadata that you use within your enterprise.</p>
 */ export class ServiceCatalogAppRegistry extends ServiceCatalogAppRegistryClient { /**
     * <p>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.</p>
     */ public associateAttributeGroup ( args , options ? ) ; public associateAttributeGroup ( args , cb ) ; public associateAttributeGroup ( args , options , cb ) ; public associateAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new AssociateAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Associates a resource with an application. Both the resource and the application can be specified either by ID or name.</p>
     */ public associateResource ( args , options ? ) ; public associateResource ( args , cb ) ; public associateResource ( args , options , cb ) ; public associateResource ( args , optionsOrCb ? , cb ? ) { const command = new AssociateResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new application that is the top-level node in a hierarchy of related cloud resource abstractions.</p>
     */ public createApplication ( args , options ? ) ; public createApplication ( args , cb ) ; public createApplication ( args , options , cb ) ; public createApplication ( args , optionsOrCb ? , cb ? ) { const command = new CreateApplicationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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.</p>
     */ public createAttributeGroup ( args , options ? ) ; public createAttributeGroup ( args , cb ) ; public createAttributeGroup ( args , options , cb ) ; public createAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new CreateAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes an application that is specified either by its application ID or name. All associated attribute groups and resources must be disassociated from it before deleting an application.</p>
     */ public deleteApplication ( args , options ? ) ; public deleteApplication ( args , cb ) ; public deleteApplication ( args , options , cb ) ; public deleteApplication ( args , optionsOrCb ? , cb ? ) { const command = new DeleteApplicationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes an attribute group, specified either by its attribute group ID or name.</p>
     */ public deleteAttributeGroup ( args , options ? ) ; public deleteAttributeGroup ( args , cb ) ; public deleteAttributeGroup ( args , options , cb ) ; public deleteAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new DeleteAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>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 <code>AssociateAttributeGroup</code>.</p>
     */ public disassociateAttributeGroup ( args , options ? ) ; public disassociateAttributeGroup ( args , cb ) ; public disassociateAttributeGroup ( args , options , cb ) ; public disassociateAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disassociates a resource from application. Both the resource and the application can be specified either by ID or name.</p>
     */ public disassociateResource ( args , options ? ) ; public disassociateResource ( args , cb ) ; public disassociateResource ( args , options , cb ) ; public disassociateResource ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves metadata information about one of your applications. The application can be specified either by its unique ID or by its name (which is unique within one account in one region at a given point in time). Specify by ID in automated workflows if you want to make sure that the exact same application is returned or a <code>ResourceNotFoundException</code> is thrown, avoiding the ABA addressing problem.</p>
     */ public getApplication ( args , options ? ) ; public getApplication ( args , cb ) ; public getApplication ( args , options , cb ) ; public getApplication ( args , optionsOrCb ? , cb ? ) { const command = new GetApplicationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets the resource associated with the application.</p>
     */ public getAssociatedResource ( args , options ? ) ; public getAssociatedResource ( args , cb ) ; public getAssociatedResource ( args , options , cb ) ; public getAssociatedResource ( args , optionsOrCb ? , cb ? ) { const command = new GetAssociatedResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves an attribute group, either by its name or its ID. The attribute group can be specified either by its unique ID or by its name.</p>
     */ public getAttributeGroup ( args , options ? ) ; public getAttributeGroup ( args , cb ) ; public getAttributeGroup ( args , options , cb ) ; public getAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new GetAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves a list of all of your applications. Results are paginated.</p>
     */ public listApplications ( args , options ? ) ; public listApplications ( args , cb ) ; public listApplications ( args , options , cb ) ; public listApplications ( args , optionsOrCb ? , cb ? ) { const command = new ListApplicationsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all attribute groups that are associated with specified application.  Results are paginated.</p>
     */ public listAssociatedAttributeGroups ( args , options ? ) ; public listAssociatedAttributeGroups ( args , cb ) ; public listAssociatedAttributeGroups ( args , options , cb ) ; public listAssociatedAttributeGroups ( args , optionsOrCb ? , cb ? ) { const command = new ListAssociatedAttributeGroupsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all resources that are associated with specified application. Results are paginated.</p>
     */ public listAssociatedResources ( args , options ? ) ; public listAssociatedResources ( args , cb ) ; public listAssociatedResources ( args , options , cb ) ; public listAssociatedResources ( args , optionsOrCb ? , cb ? ) { const command = new ListAssociatedResourcesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all attribute groups which you have access to. Results are paginated.</p>
     */ public listAttributeGroups ( args , options ? ) ; public listAttributeGroups ( args , cb ) ; public listAttributeGroups ( args , options , cb ) ; public listAttributeGroups ( args , optionsOrCb ? , cb ? ) { const command = new ListAttributeGroupsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists all of the tags on the resource.</p>
     */ public listTagsForResource ( args , options ? ) ; public listTagsForResource ( args , cb ) ; public listTagsForResource ( args , options , cb ) ; public listTagsForResource ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsForResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Syncs the resource with current AppRegistry records.</p>
     *          <p>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.</p>
     */ public syncResource ( args , options ? ) ; public syncResource ( args , cb ) ; public syncResource ( args , options , cb ) ; public syncResource ( args , optionsOrCb ? , cb ? ) { const command = new SyncResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Assigns one or more tags (key-value pairs) to the specified resource.</p>
     *          <p>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.</p>
     *          <p>This operation returns an empty response if the call was successful.</p>
     */ public tagResource ( args , options ? ) ; public tagResource ( args , cb ) ; public tagResource ( args , options , cb ) ; public tagResource ( args , optionsOrCb ? , cb ? ) { const command = new TagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes tags from a resource.</p>
     *          <p>This operation returns an empty response if the call was successful.</p>
     */ public untagResource ( args , options ? ) ; public untagResource ( args , cb ) ; public untagResource ( args , options , cb ) ; public untagResource ( args , optionsOrCb ? , cb ? ) { const command = new UntagResourceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates an existing application with new attributes.</p>
     */ public updateApplication ( args , options ? ) ; public updateApplication ( args , cb ) ; public updateApplication ( args , options , cb ) ; public updateApplication ( args , optionsOrCb ? , cb ? ) { const command = new UpdateApplicationCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates an existing attribute group with new details. </p>
     */ public updateAttributeGroup ( args , options ? ) ; public updateAttributeGroup ( args , cb ) ; public updateAttributeGroup ( args , options , cb ) ; public updateAttributeGroup ( args , optionsOrCb ? , cb ? ) { const command = new UpdateAttributeGroupCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }