import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AccessAnalyzerClient } from "./AccessAnalyzerClient" ; import { ApplyArchiveRuleCommand , ApplyArchiveRuleCommandInput , ApplyArchiveRuleCommandOutput , } from "./commands/ApplyArchiveRuleCommand" ; import { CancelPolicyGenerationCommand , CancelPolicyGenerationCommandInput , CancelPolicyGenerationCommandOutput , } from "./commands/CancelPolicyGenerationCommand" ; import { CreateAccessPreviewCommand , CreateAccessPreviewCommandInput , CreateAccessPreviewCommandOutput , } from "./commands/CreateAccessPreviewCommand" ; import { CreateAnalyzerCommand , CreateAnalyzerCommandInput , CreateAnalyzerCommandOutput , } from "./commands/CreateAnalyzerCommand" ; import { CreateArchiveRuleCommand , CreateArchiveRuleCommandInput , CreateArchiveRuleCommandOutput , } from "./commands/CreateArchiveRuleCommand" ; import { DeleteAnalyzerCommand , DeleteAnalyzerCommandInput , DeleteAnalyzerCommandOutput , } from "./commands/DeleteAnalyzerCommand" ; import { DeleteArchiveRuleCommand , DeleteArchiveRuleCommandInput , DeleteArchiveRuleCommandOutput , } from "./commands/DeleteArchiveRuleCommand" ; import { GetAccessPreviewCommand , GetAccessPreviewCommandInput , GetAccessPreviewCommandOutput , } from "./commands/GetAccessPreviewCommand" ; import { GetAnalyzedResourceCommand , GetAnalyzedResourceCommandInput , GetAnalyzedResourceCommandOutput , } from "./commands/GetAnalyzedResourceCommand" ; import { GetAnalyzerCommand , GetAnalyzerCommandInput , GetAnalyzerCommandOutput } from "./commands/GetAnalyzerCommand" ; import { GetArchiveRuleCommand , GetArchiveRuleCommandInput , GetArchiveRuleCommandOutput , } from "./commands/GetArchiveRuleCommand" ; import { GetFindingCommand , GetFindingCommandInput , GetFindingCommandOutput } from "./commands/GetFindingCommand" ; import { GetGeneratedPolicyCommand , GetGeneratedPolicyCommandInput , GetGeneratedPolicyCommandOutput , } from "./commands/GetGeneratedPolicyCommand" ; import { ListAccessPreviewFindingsCommand , ListAccessPreviewFindingsCommandInput , ListAccessPreviewFindingsCommandOutput , } from "./commands/ListAccessPreviewFindingsCommand" ; import { ListAccessPreviewsCommand , ListAccessPreviewsCommandInput , ListAccessPreviewsCommandOutput , } from "./commands/ListAccessPreviewsCommand" ; import { ListAnalyzedResourcesCommand , ListAnalyzedResourcesCommandInput , ListAnalyzedResourcesCommandOutput , } from "./commands/ListAnalyzedResourcesCommand" ; import { ListAnalyzersCommand , ListAnalyzersCommandInput , ListAnalyzersCommandOutput , } from "./commands/ListAnalyzersCommand" ; import { ListArchiveRulesCommand , ListArchiveRulesCommandInput , ListArchiveRulesCommandOutput , } from "./commands/ListArchiveRulesCommand" ; import { ListFindingsCommand , ListFindingsCommandInput , ListFindingsCommandOutput , } from "./commands/ListFindingsCommand" ; import { ListPolicyGenerationsCommand , ListPolicyGenerationsCommandInput , ListPolicyGenerationsCommandOutput , } from "./commands/ListPolicyGenerationsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { StartPolicyGenerationCommand , StartPolicyGenerationCommandInput , StartPolicyGenerationCommandOutput , } from "./commands/StartPolicyGenerationCommand" ; import { StartResourceScanCommand , StartResourceScanCommandInput , StartResourceScanCommandOutput , } from "./commands/StartResourceScanCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateArchiveRuleCommand , UpdateArchiveRuleCommandInput , UpdateArchiveRuleCommandOutput , } from "./commands/UpdateArchiveRuleCommand" ; import { UpdateFindingsCommand , UpdateFindingsCommandInput , UpdateFindingsCommandOutput , } from "./commands/UpdateFindingsCommand" ; import { ValidatePolicyCommand , ValidatePolicyCommandInput , ValidatePolicyCommandOutput , } from "./commands/ValidatePolicyCommand" ; /**
 * <p>Identity and Access Management Access Analyzer helps identify potential resource-access risks by enabling you to
 *          identify any policies that grant access to an external principal. It does this by using
 *          logic-based reasoning to analyze resource-based policies in your Amazon Web Services environment. An
 *          external principal can be another Amazon Web Services account, a root user, an IAM user or role, a
 *          federated user, an Amazon Web Services service, or an anonymous user. You can also use IAM Access Analyzer to
 *          preview and validate public and cross-account access to your resources before deploying
 *          permissions changes. This guide describes the Identity and Access Management Access Analyzer operations that you can
 *          call programmatically. For general information about IAM Access Analyzer, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html">Identity and Access Management Access Analyzer</a> in the <b>IAM User Guide</b>.</p>
 *          <p>To start using IAM Access Analyzer, you first need to create an analyzer.</p>
 */ export class AccessAnalyzer extends AccessAnalyzerClient { /**
     * <p>Retroactively applies the archive rule to existing findings that meet the archive rule
     *          criteria.</p>
     */ public applyArchiveRule ( args , options ? ) ; public applyArchiveRule ( args , cb ) ; public applyArchiveRule ( args , options , cb ) ; public applyArchiveRule ( args , optionsOrCb ? , cb ? ) { const command = new ApplyArchiveRuleCommand ( 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>Cancels the requested policy generation.</p>
     */ public cancelPolicyGeneration ( args , options ? ) ; public cancelPolicyGeneration ( args , cb ) ; public cancelPolicyGeneration ( args , options , cb ) ; public cancelPolicyGeneration ( args , optionsOrCb ? , cb ? ) { const command = new CancelPolicyGenerationCommand ( 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 an access preview that allows you to preview IAM Access Analyzer findings for your
     *          resource before deploying resource permissions.</p>
     */ public createAccessPreview ( args , options ? ) ; public createAccessPreview ( args , cb ) ; public createAccessPreview ( args , options , cb ) ; public createAccessPreview ( args , optionsOrCb ? , cb ? ) { const command = new CreateAccessPreviewCommand ( 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 an analyzer for your account.</p>
     */ public createAnalyzer ( args , options ? ) ; public createAnalyzer ( args , cb ) ; public createAnalyzer ( args , options , cb ) ; public createAnalyzer ( args , optionsOrCb ? , cb ? ) { const command = new CreateAnalyzerCommand ( 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 an archive rule for the specified analyzer. Archive rules automatically archive
     *          new findings that meet the criteria you define when you create the rule.</p>
     *          <p>To learn about filter keys that you can use to create an archive rule, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html">IAM Access Analyzer filter keys</a> in the <b>IAM User Guide</b>.</p>
     */ public createArchiveRule ( args , options ? ) ; public createArchiveRule ( args , cb ) ; public createArchiveRule ( args , options , cb ) ; public createArchiveRule ( args , optionsOrCb ? , cb ? ) { const command = new CreateArchiveRuleCommand ( 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 analyzer. When you delete an analyzer, IAM Access Analyzer is disabled
     *          for the account or organization in the current or specific Region. All findings that were
     *          generated by the analyzer are deleted. You cannot undo this action.</p>
     */ public deleteAnalyzer ( args , options ? ) ; public deleteAnalyzer ( args , cb ) ; public deleteAnalyzer ( args , options , cb ) ; public deleteAnalyzer ( args , optionsOrCb ? , cb ? ) { const command = new DeleteAnalyzerCommand ( 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 archive rule.</p>
     */ public deleteArchiveRule ( args , options ? ) ; public deleteArchiveRule ( args , cb ) ; public deleteArchiveRule ( args , options , cb ) ; public deleteArchiveRule ( args , optionsOrCb ? , cb ? ) { const command = new DeleteArchiveRuleCommand ( 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 information about an access preview for the specified analyzer.</p>
     */ public getAccessPreview ( args , options ? ) ; public getAccessPreview ( args , cb ) ; public getAccessPreview ( args , options , cb ) ; public getAccessPreview ( args , optionsOrCb ? , cb ? ) { const command = new GetAccessPreviewCommand ( 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 information about a resource that was analyzed.</p>
     */ public getAnalyzedResource ( args , options ? ) ; public getAnalyzedResource ( args , cb ) ; public getAnalyzedResource ( args , options , cb ) ; public getAnalyzedResource ( args , optionsOrCb ? , cb ? ) { const command = new GetAnalyzedResourceCommand ( 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 information about the specified analyzer.</p>
     */ public getAnalyzer ( args , options ? ) ; public getAnalyzer ( args , cb ) ; public getAnalyzer ( args , options , cb ) ; public getAnalyzer ( args , optionsOrCb ? , cb ? ) { const command = new GetAnalyzerCommand ( 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 information about an archive rule.</p>
     *          <p>To learn about filter keys that you can use to create an archive rule, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html">IAM Access Analyzer filter keys</a> in the <b>IAM User Guide</b>.</p>
     */ public getArchiveRule ( args , options ? ) ; public getArchiveRule ( args , cb ) ; public getArchiveRule ( args , options , cb ) ; public getArchiveRule ( args , optionsOrCb ? , cb ? ) { const command = new GetArchiveRuleCommand ( 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 information about the specified finding.</p>
     */ public getFinding ( args , options ? ) ; public getFinding ( args , cb ) ; public getFinding ( args , options , cb ) ; public getFinding ( args , optionsOrCb ? , cb ? ) { const command = new GetFindingCommand ( 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 policy that was generated using <code>StartPolicyGeneration</code>.
     *       </p>
     */ public getGeneratedPolicy ( args , options ? ) ; public getGeneratedPolicy ( args , cb ) ; public getGeneratedPolicy ( args , options , cb ) ; public getGeneratedPolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetGeneratedPolicyCommand ( 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 access preview findings generated by the specified access
     *          preview.</p>
     */ public listAccessPreviewFindings ( args , options ? ) ; public listAccessPreviewFindings ( args , cb ) ; public listAccessPreviewFindings ( args , options , cb ) ; public listAccessPreviewFindings ( args , optionsOrCb ? , cb ? ) { const command = new ListAccessPreviewFindingsCommand ( 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 access previews for the specified analyzer.</p>
     */ public listAccessPreviews ( args , options ? ) ; public listAccessPreviews ( args , cb ) ; public listAccessPreviews ( args , options , cb ) ; public listAccessPreviews ( args , optionsOrCb ? , cb ? ) { const command = new ListAccessPreviewsCommand ( 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 resources of the specified type that have been analyzed by the
     *          specified analyzer..</p>
     */ public listAnalyzedResources ( args , options ? ) ; public listAnalyzedResources ( args , cb ) ; public listAnalyzedResources ( args , options , cb ) ; public listAnalyzedResources ( args , optionsOrCb ? , cb ? ) { const command = new ListAnalyzedResourcesCommand ( 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 analyzers.</p>
     */ public listAnalyzers ( args , options ? ) ; public listAnalyzers ( args , cb ) ; public listAnalyzers ( args , options , cb ) ; public listAnalyzers ( args , optionsOrCb ? , cb ? ) { const command = new ListAnalyzersCommand ( 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 archive rules created for the specified analyzer.</p>
     */ public listArchiveRules ( args , options ? ) ; public listArchiveRules ( args , cb ) ; public listArchiveRules ( args , options , cb ) ; public listArchiveRules ( args , optionsOrCb ? , cb ? ) { const command = new ListArchiveRulesCommand ( 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 findings generated by the specified analyzer.</p>
     *          <p>To learn about filter keys that you can use to retrieve a list of findings, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-filter-keys.html">IAM Access Analyzer filter keys</a> in the <b>IAM User Guide</b>.</p>
     */ public listFindings ( args , options ? ) ; public listFindings ( args , cb ) ; public listFindings ( args , options , cb ) ; public listFindings ( args , optionsOrCb ? , cb ? ) { const command = new ListFindingsCommand ( 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 policy generations requested in the last seven days.</p>
     */ public listPolicyGenerations ( args , options ? ) ; public listPolicyGenerations ( args , cb ) ; public listPolicyGenerations ( args , options , cb ) ; public listPolicyGenerations ( args , optionsOrCb ? , cb ? ) { const command = new ListPolicyGenerationsCommand ( 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 tags applied to the specified 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>Starts the policy generation request.</p>
     */ public startPolicyGeneration ( args , options ? ) ; public startPolicyGeneration ( args , cb ) ; public startPolicyGeneration ( args , options , cb ) ; public startPolicyGeneration ( args , optionsOrCb ? , cb ? ) { const command = new StartPolicyGenerationCommand ( 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>Immediately starts a scan of the policies applied to the specified resource.</p>
     */ public startResourceScan ( args , options ? ) ; public startResourceScan ( args , cb ) ; public startResourceScan ( args , options , cb ) ; public startResourceScan ( args , optionsOrCb ? , cb ? ) { const command = new StartResourceScanCommand ( 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 a tag to the specified resource.</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 a tag from the specified resource.</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 the criteria and values for the specified archive rule.</p>
     */ public updateArchiveRule ( args , options ? ) ; public updateArchiveRule ( args , cb ) ; public updateArchiveRule ( args , options , cb ) ; public updateArchiveRule ( args , optionsOrCb ? , cb ? ) { const command = new UpdateArchiveRuleCommand ( 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 the status for the specified findings.</p>
     */ public updateFindings ( args , options ? ) ; public updateFindings ( args , cb ) ; public updateFindings ( args , options , cb ) ; public updateFindings ( args , optionsOrCb ? , cb ? ) { const command = new UpdateFindingsCommand ( 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>Requests the validation of a policy and returns a list of findings. The findings help
     *          you identify issues and provide actionable recommendations to resolve the issue and enable
     *          you to author functional policies that meet security best practices. </p>
     */ public validatePolicy ( args , options ? ) ; public validatePolicy ( args , cb ) ; public validatePolicy ( args , options , cb ) ; public validatePolicy ( args , optionsOrCb ? , cb ? ) { const command = new ValidatePolicyCommand ( 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 ) ; } } }