import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AcceptResourceShareInvitationCommand , AcceptResourceShareInvitationCommandInput , AcceptResourceShareInvitationCommandOutput , } from "./commands/AcceptResourceShareInvitationCommand" ; import { AssociateResourceShareCommand , AssociateResourceShareCommandInput , AssociateResourceShareCommandOutput , } from "./commands/AssociateResourceShareCommand" ; import { AssociateResourceSharePermissionCommand , AssociateResourceSharePermissionCommandInput , AssociateResourceSharePermissionCommandOutput , } from "./commands/AssociateResourceSharePermissionCommand" ; import { CreateResourceShareCommand , CreateResourceShareCommandInput , CreateResourceShareCommandOutput , } from "./commands/CreateResourceShareCommand" ; import { DeleteResourceShareCommand , DeleteResourceShareCommandInput , DeleteResourceShareCommandOutput , } from "./commands/DeleteResourceShareCommand" ; import { DisassociateResourceShareCommand , DisassociateResourceShareCommandInput , DisassociateResourceShareCommandOutput , } from "./commands/DisassociateResourceShareCommand" ; import { DisassociateResourceSharePermissionCommand , DisassociateResourceSharePermissionCommandInput , DisassociateResourceSharePermissionCommandOutput , } from "./commands/DisassociateResourceSharePermissionCommand" ; import { EnableSharingWithAwsOrganizationCommand , EnableSharingWithAwsOrganizationCommandInput , EnableSharingWithAwsOrganizationCommandOutput , } from "./commands/EnableSharingWithAwsOrganizationCommand" ; import { GetPermissionCommand , GetPermissionCommandInput , GetPermissionCommandOutput , } from "./commands/GetPermissionCommand" ; import { GetResourcePoliciesCommand , GetResourcePoliciesCommandInput , GetResourcePoliciesCommandOutput , } from "./commands/GetResourcePoliciesCommand" ; import { GetResourceShareAssociationsCommand , GetResourceShareAssociationsCommandInput , GetResourceShareAssociationsCommandOutput , } from "./commands/GetResourceShareAssociationsCommand" ; import { GetResourceShareInvitationsCommand , GetResourceShareInvitationsCommandInput , GetResourceShareInvitationsCommandOutput , } from "./commands/GetResourceShareInvitationsCommand" ; import { GetResourceSharesCommand , GetResourceSharesCommandInput , GetResourceSharesCommandOutput , } from "./commands/GetResourceSharesCommand" ; import { ListPendingInvitationResourcesCommand , ListPendingInvitationResourcesCommandInput , ListPendingInvitationResourcesCommandOutput , } from "./commands/ListPendingInvitationResourcesCommand" ; import { ListPermissionsCommand , ListPermissionsCommandInput , ListPermissionsCommandOutput , } from "./commands/ListPermissionsCommand" ; import { ListPrincipalsCommand , ListPrincipalsCommandInput , ListPrincipalsCommandOutput , } from "./commands/ListPrincipalsCommand" ; import { ListResourcesCommand , ListResourcesCommandInput , ListResourcesCommandOutput , } from "./commands/ListResourcesCommand" ; import { ListResourceSharePermissionsCommand , ListResourceSharePermissionsCommandInput , ListResourceSharePermissionsCommandOutput , } from "./commands/ListResourceSharePermissionsCommand" ; import { ListResourceTypesCommand , ListResourceTypesCommandInput , ListResourceTypesCommandOutput , } from "./commands/ListResourceTypesCommand" ; import { PromoteResourceShareCreatedFromPolicyCommand , PromoteResourceShareCreatedFromPolicyCommandInput , PromoteResourceShareCreatedFromPolicyCommandOutput , } from "./commands/PromoteResourceShareCreatedFromPolicyCommand" ; import { RejectResourceShareInvitationCommand , RejectResourceShareInvitationCommandInput , RejectResourceShareInvitationCommandOutput , } from "./commands/RejectResourceShareInvitationCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateResourceShareCommand , UpdateResourceShareCommandInput , UpdateResourceShareCommandOutput , } from "./commands/UpdateResourceShareCommand" ; import { RAMClient } from "./RAMClient" ; /**
 * <p>This is the <i>Resource Access Manager API Reference</i>. This documentation provides
 *             descriptions and syntax for each of the actions and data types in RAM. RAM is a
 *             service that helps you securely share your Amazon Web Services resources across Amazon Web Services accounts. If you
 *             have multiple Amazon Web Services accounts, you can use RAM to share those resources with other
 *             accounts. If you use Organizations to manage your accounts, then you share your resources
 *             with your organization or organizational units (OUs). For supported resource types, you
 *             can also share resources with individual Identity and Access Management (IAM) roles an users. </p>
 *
 *         <p>To learn more about RAM, see the following resources:</p>
 *         <ul>
 *             <li>
 *                 <p>
 *                     <a href="http://aws.amazon.com/ram">Resource Access Manager product page</a>
 *                </p>
 *             </li>
 *             <li>
 *                 <p>
 *                   <a href="https://docs.aws.amazon.com/ram/latest/userguide/">Resource Access Manager User
 *                         Guide</a>
 *                </p>
 *             </li>
 *          </ul>
 */ export class RAM extends RAMClient { /**
     * <p>Accepts an invitation to a resource share from another Amazon Web Services account. After you accept the
     *             invitation, the resources included in the resource share are available to interact with in the
     *             relevant Amazon Web Services Management Consoles and tools.</p>
     */ public acceptResourceShareInvitation ( args , options ? ) ; public acceptResourceShareInvitation ( args , cb ) ; public acceptResourceShareInvitation ( args , options , cb ) ; public acceptResourceShareInvitation ( args , optionsOrCb ? , cb ? ) { const command = new AcceptResourceShareInvitationCommand ( 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>Adds the specified list of principals and list of resources to a resource share. Principals that
     *             already have access to this resource share immediately receive access to the added resources.
     *             Newly added principals immediately receive access to the resources shared in this resource share. </p>
     */ public associateResourceShare ( args , options ? ) ; public associateResourceShare ( args , cb ) ; public associateResourceShare ( args , options , cb ) ; public associateResourceShare ( args , optionsOrCb ? , cb ? ) { const command = new AssociateResourceShareCommand ( 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>Adds or replaces the RAM permission for a resource type included in a resource share. You can
     *             have exactly one permission associated with each resource type in the resource share. You can add
     *             a new RAM permission only if there are currently no resources of that resource type
     *             currently in the resource share.</p>
     */ public associateResourceSharePermission ( args , options ? ) ; public associateResourceSharePermission ( args , cb ) ; public associateResourceSharePermission ( args , options , cb ) ; public associateResourceSharePermission ( args , optionsOrCb ? , cb ? ) { const command = new AssociateResourceSharePermissionCommand ( 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 resource share. You can provide a list of the <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs)</a> for the resources that you
     *             want to share, a list of principals you want to share the resources with, and the
     *             permissions to grant those principals.</p>
     *         <note>
     *             <p>Sharing a resource makes it available for use by principals outside of the
     *                 Amazon Web Services account that created the resource. Sharing doesn't change any permissions or
     *                 quotas that apply to the resource in the account that created it.</p>
     *         </note>
     */ public createResourceShare ( args , options ? ) ; public createResourceShare ( args , cb ) ; public createResourceShare ( args , options , cb ) ; public createResourceShare ( args , optionsOrCb ? , cb ? ) { const command = new CreateResourceShareCommand ( 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 the specified resource share. This doesn't delete any of the resources that were
     *             associated with the resource share; it only stops the sharing of those resources outside of the
     *             Amazon Web Services account that created them.</p>
     */ public deleteResourceShare ( args , options ? ) ; public deleteResourceShare ( args , cb ) ; public deleteResourceShare ( args , options , cb ) ; public deleteResourceShare ( args , optionsOrCb ? , cb ? ) { const command = new DeleteResourceShareCommand ( 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 the specified principals or resources from the specified resource share.</p>
     */ public disassociateResourceShare ( args , options ? ) ; public disassociateResourceShare ( args , cb ) ; public disassociateResourceShare ( args , options , cb ) ; public disassociateResourceShare ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateResourceShareCommand ( 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 RAM permission from a resource share. Permission changes take effect
     *             immediately. You can remove a RAM permission from a resource share only if there are currently
     *             no resources of the relevant resource type currently attached to the resource share.</p>
     */ public disassociateResourceSharePermission ( args , options ? ) ; public disassociateResourceSharePermission ( args , cb ) ; public disassociateResourceSharePermission ( args , options , cb ) ; public disassociateResourceSharePermission ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateResourceSharePermissionCommand ( 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>Enables resource sharing within your organization in Organizations. Calling this operation
     *             enables RAM to retrieve information about the organization and its structure. This
     *             lets you share resources with all of the accounts in an organization by specifying the
     *             organization's ID, or all of the accounts in an organizational unit (OU) by specifying
     *             the OU's ID. Until you enable sharing within the organization, you can specify only
     *             individual Amazon Web Services accounts, or for supported resource types, IAM users and
     *             roles.</p>
     *         <p>You must call this operation from an IAM user or role in the organization's
     *             management account.</p>
     */ public enableSharingWithAwsOrganization ( args , options ? ) ; public enableSharingWithAwsOrganization ( args , cb ) ; public enableSharingWithAwsOrganization ( args , options , cb ) ; public enableSharingWithAwsOrganization ( args , optionsOrCb ? , cb ? ) { const command = new EnableSharingWithAwsOrganizationCommand ( 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 contents of an RAM permission in JSON format.</p>
     */ public getPermission ( args , options ? ) ; public getPermission ( args , cb ) ; public getPermission ( args , options , cb ) ; public getPermission ( args , optionsOrCb ? , cb ? ) { const command = new GetPermissionCommand ( 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 the resource policies for the specified resources that you own and have
     *             shared.</p>
     */ public getResourcePolicies ( args , options ? ) ; public getResourcePolicies ( args , cb ) ; public getResourcePolicies ( args , options , cb ) ; public getResourcePolicies ( args , optionsOrCb ? , cb ? ) { const command = new GetResourcePoliciesCommand ( 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 the resource and principal associations for resource shares that you own.</p>
     */ public getResourceShareAssociations ( args , options ? ) ; public getResourceShareAssociations ( args , cb ) ; public getResourceShareAssociations ( args , options , cb ) ; public getResourceShareAssociations ( args , optionsOrCb ? , cb ? ) { const command = new GetResourceShareAssociationsCommand ( 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 details about invitations that you have received for resource shares.</p>
     */ public getResourceShareInvitations ( args , options ? ) ; public getResourceShareInvitations ( args , cb ) ; public getResourceShareInvitations ( args , options , cb ) ; public getResourceShareInvitations ( args , optionsOrCb ? , cb ? ) { const command = new GetResourceShareInvitationsCommand ( 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 details about the resource shares that you own or that are shared with you.</p>
     */ public getResourceShares ( args , options ? ) ; public getResourceShares ( args , cb ) ; public getResourceShares ( args , options , cb ) ; public getResourceShares ( args , optionsOrCb ? , cb ? ) { const command = new GetResourceSharesCommand ( 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 the resources in a resource share that is shared with you but for which the invitation is
     *             still <code>PENDING</code>. That means that you haven't accepted or rejected the
     *             invitation and the invitation hasn't expired.</p>
     */ public listPendingInvitationResources ( args , options ? ) ; public listPendingInvitationResources ( args , cb ) ; public listPendingInvitationResources ( args , options , cb ) ; public listPendingInvitationResources ( args , optionsOrCb ? , cb ? ) { const command = new ListPendingInvitationResourcesCommand ( 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 available RAM permissions that you can use for the supported
     *             resource types. </p>
     */ public listPermissions ( args , options ? ) ; public listPermissions ( args , cb ) ; public listPermissions ( args , options , cb ) ; public listPermissions ( args , optionsOrCb ? , cb ? ) { const command = new ListPermissionsCommand ( 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 the principals that you are sharing resources with or that are sharing resources
     *             with you.</p>
     */ public listPrincipals ( args , options ? ) ; public listPrincipals ( args , cb ) ; public listPrincipals ( args , options , cb ) ; public listPrincipals ( args , optionsOrCb ? , cb ? ) { const command = new ListPrincipalsCommand ( 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 the resources that you added to a resource shares or the resources that are shared with
     *             you.</p>
     */ public listResources ( args , options ? ) ; public listResources ( args , cb ) ; public listResources ( args , options , cb ) ; public listResources ( args , optionsOrCb ? , cb ? ) { const command = new ListResourcesCommand ( 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 the RAM permissions that are associated with a resource share.</p>
     */ public listResourceSharePermissions ( args , options ? ) ; public listResourceSharePermissions ( args , cb ) ; public listResourceSharePermissions ( args , options , cb ) ; public listResourceSharePermissions ( args , optionsOrCb ? , cb ? ) { const command = new ListResourceSharePermissionsCommand ( 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 the resource types that can be shared by RAM.</p>
     */ public listResourceTypes ( args , options ? ) ; public listResourceTypes ( args , cb ) ; public listResourceTypes ( args , options , cb ) ; public listResourceTypes ( args , optionsOrCb ? , cb ? ) { const command = new ListResourceTypesCommand ( 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>When you attach a resource-based permission policy to a resource, it automatically
     *             creates a resource share. However, resource shares created this way are visible only to the resource share
     *             owner, and the resource share can't be modified in RAM.</p>
     *         <p>You can use this operation to promote the resource share to a full RAM resource share. When you promote
     *             a resource share, you can then manage the resource share in RAM and it becomes visible to all of the
     *             principals you shared it with.</p>
     */ public promoteResourceShareCreatedFromPolicy ( args , options ? ) ; public promoteResourceShareCreatedFromPolicy ( args , cb ) ; public promoteResourceShareCreatedFromPolicy ( args , options , cb ) ; public promoteResourceShareCreatedFromPolicy ( args , optionsOrCb ? , cb ? ) { const command = new PromoteResourceShareCreatedFromPolicyCommand ( 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>Rejects an invitation to a resource share from another Amazon Web Services account.</p>
     */ public rejectResourceShareInvitation ( args , options ? ) ; public rejectResourceShareInvitation ( args , cb ) ; public rejectResourceShareInvitation ( args , options , cb ) ; public rejectResourceShareInvitation ( args , optionsOrCb ? , cb ? ) { const command = new RejectResourceShareInvitationCommand ( 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>Adds the specified tag keys and values to the specified resource share. The tags are attached
     *             only to the resource share, not to the resources that are in the resource share.</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 the specified tag key and value pairs from the specified resource share.</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>Modifies some of the properties of the specified resource share.</p>
     */ public updateResourceShare ( args , options ? ) ; public updateResourceShare ( args , cb ) ; public updateResourceShare ( args , options , cb ) ; public updateResourceShare ( args , optionsOrCb ? , cb ? ) { const command = new UpdateResourceShareCommand ( 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 ) ; } } }