import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CancelClusterCommand , CancelClusterCommandInput , CancelClusterCommandOutput , } from "./commands/CancelClusterCommand" ; import { CancelJobCommand , CancelJobCommandInput , CancelJobCommandOutput } from "./commands/CancelJobCommand" ; import { CreateAddressCommand , CreateAddressCommandInput , CreateAddressCommandOutput , } from "./commands/CreateAddressCommand" ; import { CreateClusterCommand , CreateClusterCommandInput , CreateClusterCommandOutput , } from "./commands/CreateClusterCommand" ; import { CreateJobCommand , CreateJobCommandInput , CreateJobCommandOutput } from "./commands/CreateJobCommand" ; import { CreateLongTermPricingCommand , CreateLongTermPricingCommandInput , CreateLongTermPricingCommandOutput , } from "./commands/CreateLongTermPricingCommand" ; import { CreateReturnShippingLabelCommand , CreateReturnShippingLabelCommandInput , CreateReturnShippingLabelCommandOutput , } from "./commands/CreateReturnShippingLabelCommand" ; import { DescribeAddressCommand , DescribeAddressCommandInput , DescribeAddressCommandOutput , } from "./commands/DescribeAddressCommand" ; import { DescribeAddressesCommand , DescribeAddressesCommandInput , DescribeAddressesCommandOutput , } from "./commands/DescribeAddressesCommand" ; import { DescribeClusterCommand , DescribeClusterCommandInput , DescribeClusterCommandOutput , } from "./commands/DescribeClusterCommand" ; import { DescribeJobCommand , DescribeJobCommandInput , DescribeJobCommandOutput } from "./commands/DescribeJobCommand" ; import { DescribeReturnShippingLabelCommand , DescribeReturnShippingLabelCommandInput , DescribeReturnShippingLabelCommandOutput , } from "./commands/DescribeReturnShippingLabelCommand" ; import { GetJobManifestCommand , GetJobManifestCommandInput , GetJobManifestCommandOutput , } from "./commands/GetJobManifestCommand" ; import { GetJobUnlockCodeCommand , GetJobUnlockCodeCommandInput , GetJobUnlockCodeCommandOutput , } from "./commands/GetJobUnlockCodeCommand" ; import { GetSnowballUsageCommand , GetSnowballUsageCommandInput , GetSnowballUsageCommandOutput , } from "./commands/GetSnowballUsageCommand" ; import { GetSoftwareUpdatesCommand , GetSoftwareUpdatesCommandInput , GetSoftwareUpdatesCommandOutput , } from "./commands/GetSoftwareUpdatesCommand" ; import { ListClusterJobsCommand , ListClusterJobsCommandInput , ListClusterJobsCommandOutput , } from "./commands/ListClusterJobsCommand" ; import { ListClustersCommand , ListClustersCommandInput , ListClustersCommandOutput , } from "./commands/ListClustersCommand" ; import { ListCompatibleImagesCommand , ListCompatibleImagesCommandInput , ListCompatibleImagesCommandOutput , } from "./commands/ListCompatibleImagesCommand" ; import { ListJobsCommand , ListJobsCommandInput , ListJobsCommandOutput } from "./commands/ListJobsCommand" ; import { ListLongTermPricingCommand , ListLongTermPricingCommandInput , ListLongTermPricingCommandOutput , } from "./commands/ListLongTermPricingCommand" ; import { UpdateClusterCommand , UpdateClusterCommandInput , UpdateClusterCommandOutput , } from "./commands/UpdateClusterCommand" ; import { UpdateJobCommand , UpdateJobCommandInput , UpdateJobCommandOutput } from "./commands/UpdateJobCommand" ; import { UpdateJobShipmentStateCommand , UpdateJobShipmentStateCommandInput , UpdateJobShipmentStateCommandOutput , } from "./commands/UpdateJobShipmentStateCommand" ; import { UpdateLongTermPricingCommand , UpdateLongTermPricingCommandInput , UpdateLongTermPricingCommandOutput , } from "./commands/UpdateLongTermPricingCommand" ; import { SnowballClient } from "./SnowballClient" ; /**
 * <p>The Amazon Web Services Snow Family provides a petabyte-scale data transport solution that uses
 *       secure devices to transfer large amounts of data between your on-premises data centers and
 *       Amazon Simple Storage Service (Amazon S3). The Snow Family commands described here provide access to the same
 *       functionality that is available in the Amazon Web Services Snow Family Management Console, which enables you to create
 *       and manage jobs for a Snow Family device. To transfer data locally with a Snow Family device,
 *       you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or OpsHub for Snow Family. For more information, see the <a href="https://docs.aws.amazon.com/AWSImportExport/latest/ug/api-reference.html">User Guide</a>.</p>
 */ export class Snowball extends SnowballClient { /**
     * <p>Cancels a cluster job. You can only cancel a cluster job while it's in the
     *         <code>AwaitingQuorum</code> status. You'll have at least an hour after creating a cluster
     *       job to cancel it.</p>
     */ public cancelCluster ( args , options ? ) ; public cancelCluster ( args , cb ) ; public cancelCluster ( args , options , cb ) ; public cancelCluster ( args , optionsOrCb ? , cb ? ) { const command = new CancelClusterCommand ( 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 specified job. You can only cancel a job before its <code>JobState</code>
     *       value changes to <code>PreparingAppliance</code>. Requesting the <code>ListJobs</code> or
     *         <code>DescribeJob</code> action returns a job's <code>JobState</code> as part of the
     *       response element data returned.</p>
     */ public cancelJob ( args , options ? ) ; public cancelJob ( args , cb ) ; public cancelJob ( args , options , cb ) ; public cancelJob ( args , optionsOrCb ? , cb ? ) { const command = new CancelJobCommand ( 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 address for a Snow device to be shipped to. In most regions,
     *       addresses are validated at the time of creation. The address you provide must be located
     *       within the serviceable area of your region. If the address is invalid or unsupported, then an
     *       exception is thrown.</p>
     */ public createAddress ( args , options ? ) ; public createAddress ( args , cb ) ; public createAddress ( args , options , cb ) ; public createAddress ( args , optionsOrCb ? , cb ? ) { const command = new CreateAddressCommand ( 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 empty cluster. Each cluster supports five nodes. You use the <a>CreateJob</a> action separately to create the jobs for each of these nodes. The
     *       cluster does not ship until these five node jobs have been created.</p>
     */ public createCluster ( args , options ? ) ; public createCluster ( args , cb ) ; public createCluster ( args , options , cb ) ; public createCluster ( args , optionsOrCb ? , cb ? ) { const command = new CreateClusterCommand ( 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 job to import or export data between Amazon S3 and your on-premises data
     *       center. Your Amazon Web Services account must have the right trust policies and permissions in
     *       place to create a job for a Snow device. If you're creating a job for a node in a cluster, you
     *       only need to provide the <code>clusterId</code> value; the other job attributes are inherited
     *       from the cluster. </p>
     *          <note>
     *             <p>Only the Snowball; Edge device type is supported when ordering clustered jobs.</p>
     *             <p>The device capacity is optional.</p>
     *             <p>Availability of device types differ by Amazon Web Services Region. For more information
     *         about Region availability, see <a href="https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4">Amazon Web Services Regional Services</a>.</p>
     *          </note>
     *
     *          <p></p>
     *
     *          <p class="title">
     *             <b>Snow Family Devices and their capacities.</b>
     *          </p>
     *          <ul>
     *             <li>
     *                <p>Snow Family device type: <b>SNC1_SSD</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T14</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowcone </p>
     *                   </li>
     *                </ul>
     *
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Snow Family device type: <b>SNC1_HDD</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T8</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowcone </p>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>EDGE_S</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T98</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowball Edge Storage Optimized for data transfer only </p>
     *                   </li>
     *                </ul>
     *
     *
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>EDGE_CG</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T42</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowball Edge Compute Optimized with GPU</p>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>EDGE_C</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T42</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowball Edge Compute Optimized without GPU</p>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>EDGE</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T100</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Snowball Edge Storage Optimized with EC2 Compute</p>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>STANDARD</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T50</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Original Snowball device</p>
     *                      <note>
     *                         <p>This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region
     *               </p>
     *                      </note>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *             <li>
     *                <p>Device type: <b>STANDARD</b>
     *                </p>
     *                <ul>
     *                   <li>
     *                      <p>Capacity: T80</p>
     *                   </li>
     *                   <li>
     *                      <p>Description: Original Snowball device</p>
     *                      <note>
     *                         <p>This device is only available in the Ningxia, Beijing, and Singapore Amazon Web Services Region. </p>
     *                      </note>
     *                   </li>
     *                </ul>
     *                <p></p>
     *             </li>
     *          </ul>
     */ public createJob ( args , options ? ) ; public createJob ( args , cb ) ; public createJob ( args , options , cb ) ; public createJob ( args , optionsOrCb ? , cb ? ) { const command = new CreateJobCommand ( 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 job with the long-term usage option for a device. The long-term usage is a
     *       1-year or 3-year long-term pricing type for the device. You are billed upfront, and Amazon Web Services provides discounts for long-term pricing.
     *       </p>
     */ public createLongTermPricing ( args , options ? ) ; public createLongTermPricing ( args , cb ) ; public createLongTermPricing ( args , options , cb ) ; public createLongTermPricing ( args , optionsOrCb ? , cb ? ) { const command = new CreateLongTermPricingCommand ( 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 shipping label that will be used to return the Snow device to Amazon Web Services.</p>
     */ public createReturnShippingLabel ( args , options ? ) ; public createReturnShippingLabel ( args , cb ) ; public createReturnShippingLabel ( args , options , cb ) ; public createReturnShippingLabel ( args , optionsOrCb ? , cb ? ) { const command = new CreateReturnShippingLabelCommand ( 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>Takes an <code>AddressId</code> and returns specific details about that address in the
     *       form of an <code>Address</code> object.</p>
     */ public describeAddress ( args , options ? ) ; public describeAddress ( args , cb ) ; public describeAddress ( args , options , cb ) ; public describeAddress ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAddressCommand ( 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>Returns a specified number of <code>ADDRESS</code> objects. Calling this API in one of
     *       the US regions will return addresses from the list of all addresses associated with this
     *       account in all US regions.</p>
     */ public describeAddresses ( args , options ? ) ; public describeAddresses ( args , cb ) ; public describeAddresses ( args , options , cb ) ; public describeAddresses ( args , optionsOrCb ? , cb ? ) { const command = new DescribeAddressesCommand ( 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>Returns information about a specific cluster including shipping information, cluster
     *       status, and other important metadata.</p>
     */ public describeCluster ( args , options ? ) ; public describeCluster ( args , cb ) ; public describeCluster ( args , options , cb ) ; public describeCluster ( args , optionsOrCb ? , cb ? ) { const command = new DescribeClusterCommand ( 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>Returns information about a specific job including shipping information, job status,
     *       and other important metadata. </p>
     */ public describeJob ( args , options ? ) ; public describeJob ( args , cb ) ; public describeJob ( args , options , cb ) ; public describeJob ( args , optionsOrCb ? , cb ? ) { const command = new DescribeJobCommand ( 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>Information on the shipping label of a Snow device that is being returned to Amazon Web Services.</p>
     */ public describeReturnShippingLabel ( args , options ? ) ; public describeReturnShippingLabel ( args , cb ) ; public describeReturnShippingLabel ( args , options , cb ) ; public describeReturnShippingLabel ( args , optionsOrCb ? , cb ? ) { const command = new DescribeReturnShippingLabelCommand ( 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>Returns a link to an Amazon S3 presigned URL for the manifest file associated with the
     *       specified <code>JobId</code> value. You can access the manifest file for up to 60 minutes
     *       after this request has been made. To access the manifest file after 60 minutes have passed,
     *       you'll have to make another call to the <code>GetJobManifest</code> action.</p>
     *
     *          <p>The manifest is an encrypted file that you can download after your job enters the
     *         <code>WithCustomer</code> status. The manifest is decrypted by using the
     *         <code>UnlockCode</code> code value, when you pass both values to the Snow device through the
     *       Snowball client when the client is started for the first time.</p>
     *
     *
     *          <p>As a best practice, we recommend that you don't save a copy of an
     *         <code>UnlockCode</code> value in the same location as the manifest file for that job. Saving
     *       these separately helps prevent unauthorized parties from gaining access to the Snow device
     *       associated with that job.</p>
     *
     *
     *          <p>The credentials of a given job, including its manifest file and unlock code, expire 360
     *       days after the job is created.</p>
     */ public getJobManifest ( args , options ? ) ; public getJobManifest ( args , cb ) ; public getJobManifest ( args , options , cb ) ; public getJobManifest ( args , optionsOrCb ? , cb ? ) { const command = new GetJobManifestCommand ( 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>Returns the <code>UnlockCode</code> code value for the specified job. A particular
     *         <code>UnlockCode</code> value can be accessed for up to 360 days after the associated job
     *       has been created.</p>
     *
     *          <p>The <code>UnlockCode</code> value is a 29-character code with 25 alphanumeric
     *       characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed
     *       along with the manifest to the Snow device through the Snowball client when the client is
     *       started for the first time.</p>
     *
     *          <p>As a best practice, we recommend that you don't save a copy of the
     *         <code>UnlockCode</code> in the same location as the manifest file for that job. Saving these
     *       separately helps prevent unauthorized parties from gaining access to the Snow device
     *       associated with that job.</p>
     */ public getJobUnlockCode ( args , options ? ) ; public getJobUnlockCode ( args , cb ) ; public getJobUnlockCode ( args , options , cb ) ; public getJobUnlockCode ( args , optionsOrCb ? , cb ? ) { const command = new GetJobUnlockCodeCommand ( 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>Returns information about the Snow Family service limit for your account, and also the
     *       number of Snow devices your account has in use.</p>
     *
     *          <p>The default service limit for the number of Snow devices that you can have at one time
     *       is 1. If you want to increase your service limit, contact Amazon Web Services Support.</p>
     */ public getSnowballUsage ( args , options ? ) ; public getSnowballUsage ( args , cb ) ; public getSnowballUsage ( args , options , cb ) ; public getSnowballUsage ( args , optionsOrCb ? , cb ? ) { const command = new GetSnowballUsageCommand ( 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>Returns an Amazon S3 presigned URL for an update file associated with a specified
     *         <code>JobId</code>.</p>
     */ public getSoftwareUpdates ( args , options ? ) ; public getSoftwareUpdates ( args , cb ) ; public getSoftwareUpdates ( args , options , cb ) ; public getSoftwareUpdates ( args , optionsOrCb ? , cb ? ) { const command = new GetSoftwareUpdatesCommand ( 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>Returns an array of <code>JobListEntry</code> objects of the specified length. Each
     *         <code>JobListEntry</code> object is for a job in the specified cluster and contains a job's
     *       state, a job's ID, and other information.</p>
     */ public listClusterJobs ( args , options ? ) ; public listClusterJobs ( args , cb ) ; public listClusterJobs ( args , options , cb ) ; public listClusterJobs ( args , optionsOrCb ? , cb ? ) { const command = new ListClusterJobsCommand ( 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>Returns an array of <code>ClusterListEntry</code> objects of the specified length. Each
     *         <code>ClusterListEntry</code> object contains a cluster's state, a cluster's ID, and other
     *       important status information.</p>
     */ public listClusters ( args , options ? ) ; public listClusters ( args , cb ) ; public listClusters ( args , options , cb ) ; public listClusters ( args , optionsOrCb ? , cb ? ) { const command = new ListClustersCommand ( 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>This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs)
     *       that are owned by your Amazon Web Services accountthat would be supported for use on a Snow
     *       device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM,
     *       Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the
     *         Amazon Web Services Marketplace.</p>
     */ public listCompatibleImages ( args , options ? ) ; public listCompatibleImages ( args , cb ) ; public listCompatibleImages ( args , options , cb ) ; public listCompatibleImages ( args , optionsOrCb ? , cb ? ) { const command = new ListCompatibleImagesCommand ( 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>Returns an array of <code>JobListEntry</code> objects of the specified length. Each
     *         <code>JobListEntry</code> object contains a job's state, a job's ID, and a value that
     *       indicates whether the job is a job part, in the case of export jobs. Calling this API action
     *       in one of the US regions will return jobs from the list of all jobs associated with this
     *       account in all US regions.</p>
     */ public listJobs ( args , options ? ) ; public listJobs ( args , cb ) ; public listJobs ( args , options , cb ) ; public listJobs ( args , optionsOrCb ? , cb ? ) { const command = new ListJobsCommand ( 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 long-term pricing types.</p>
     */ public listLongTermPricing ( args , options ? ) ; public listLongTermPricing ( args , cb ) ; public listLongTermPricing ( args , options , cb ) ; public listLongTermPricing ( args , optionsOrCb ? , cb ? ) { const command = new ListLongTermPricingCommand ( 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>While a cluster's <code>ClusterState</code> value is in the <code>AwaitingQuorum</code>
     *       state, you can update some of the information associated with a cluster. Once the cluster
     *       changes to a different job state, usually 60 minutes after the cluster being created, this
     *       action is no longer available.</p>
     */ public updateCluster ( args , options ? ) ; public updateCluster ( args , cb ) ; public updateCluster ( args , options , cb ) ; public updateCluster ( args , optionsOrCb ? , cb ? ) { const command = new UpdateClusterCommand ( 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>While a job's <code>JobState</code> value is <code>New</code>, you can update some of
     *       the information associated with a job. Once the job changes to a different job state, usually
     *       within 60 minutes of the job being created, this action is no longer available.</p>
     */ public updateJob ( args , options ? ) ; public updateJob ( args , cb ) ; public updateJob ( args , options , cb ) ; public updateJob ( args , optionsOrCb ? , cb ? ) { const command = new UpdateJobCommand ( 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 state when a shipment state changes to a different state.</p>
     */ public updateJobShipmentState ( args , options ? ) ; public updateJobShipmentState ( args , cb ) ; public updateJobShipmentState ( args , options , cb ) ; public updateJobShipmentState ( args , optionsOrCb ? , cb ? ) { const command = new UpdateJobShipmentStateCommand ( 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 long-term pricing type.</p>
     */ public updateLongTermPricing ( args , options ? ) ; public updateLongTermPricing ( args , cb ) ; public updateLongTermPricing ( args , options , cb ) ; public updateLongTermPricing ( args , optionsOrCb ? , cb ? ) { const command = new UpdateLongTermPricingCommand ( 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 ) ; } } }