import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CreateLifecyclePolicyCommand , CreateLifecyclePolicyCommandInput , CreateLifecyclePolicyCommandOutput , } from "./commands/CreateLifecyclePolicyCommand" ; import { DeleteLifecyclePolicyCommand , DeleteLifecyclePolicyCommandInput , DeleteLifecyclePolicyCommandOutput , } from "./commands/DeleteLifecyclePolicyCommand" ; import { GetLifecyclePoliciesCommand , GetLifecyclePoliciesCommandInput , GetLifecyclePoliciesCommandOutput , } from "./commands/GetLifecyclePoliciesCommand" ; import { GetLifecyclePolicyCommand , GetLifecyclePolicyCommandInput , GetLifecyclePolicyCommandOutput , } from "./commands/GetLifecyclePolicyCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateLifecyclePolicyCommand , UpdateLifecyclePolicyCommandInput , UpdateLifecyclePolicyCommandOutput , } from "./commands/UpdateLifecyclePolicyCommand" ; import { DLMClient } from "./DLMClient" ; /**
 * <fullname>Amazon Data Lifecycle Manager</fullname>
 * 		       <p>With Amazon Data Lifecycle Manager, you can manage the lifecycle of your Amazon Web Services resources. You create
 * 			lifecycle policies, which are used to automate operations on the specified
 * 			resources.</p>
 * 		       <p>Amazon DLM supports Amazon EBS volumes and snapshots. For information about using Amazon DLM
 * 			with Amazon EBS, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-lifecycle.html">Automating the Amazon EBS
 * 				Snapshot Lifecycle</a> in the <i>Amazon EC2 User Guide</i>.</p>
 */ export class DLM extends DLMClient { /**
     * <p>Creates a policy to manage the lifecycle of the specified Amazon Web Services resources. You can
     * 			create up to 100 lifecycle policies.</p>
     */ public createLifecyclePolicy ( args , options ? ) ; public createLifecyclePolicy ( args , cb ) ; public createLifecyclePolicy ( args , options , cb ) ; public createLifecyclePolicy ( args , optionsOrCb ? , cb ? ) { const command = new CreateLifecyclePolicyCommand ( 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 lifecycle policy and halts the automated operations that the
     * 			policy specified.</p>
     */ public deleteLifecyclePolicy ( args , options ? ) ; public deleteLifecyclePolicy ( args , cb ) ; public deleteLifecyclePolicy ( args , options , cb ) ; public deleteLifecyclePolicy ( args , optionsOrCb ? , cb ? ) { const command = new DeleteLifecyclePolicyCommand ( 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 summary information about all or the specified data lifecycle policies.</p>
     * 		       <p>To get complete information about a policy, use <a>GetLifecyclePolicy</a>.</p>
     */ public getLifecyclePolicies ( args , options ? ) ; public getLifecyclePolicies ( args , cb ) ; public getLifecyclePolicies ( args , options , cb ) ; public getLifecyclePolicies ( args , optionsOrCb ? , cb ? ) { const command = new GetLifecyclePoliciesCommand ( 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 detailed information about the specified lifecycle policy.</p>
     */ public getLifecyclePolicy ( args , options ? ) ; public getLifecyclePolicy ( args , cb ) ; public getLifecyclePolicy ( args , options , cb ) ; public getLifecyclePolicy ( args , optionsOrCb ? , cb ? ) { const command = new GetLifecyclePolicyCommand ( 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 tags for 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>Adds the specified tags 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 the specified tags 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 specified lifecycle policy.</p>
     */ public updateLifecyclePolicy ( args , options ? ) ; public updateLifecyclePolicy ( args , cb ) ; public updateLifecyclePolicy ( args , options , cb ) ; public updateLifecyclePolicy ( args , optionsOrCb ? , cb ? ) { const command = new UpdateLifecyclePolicyCommand ( 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 ) ; } } }