import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { AssociateServiceRoleToAccountCommand , AssociateServiceRoleToAccountCommandInput , AssociateServiceRoleToAccountCommandOutput , } from "./commands/AssociateServiceRoleToAccountCommand" ; import { BatchAssociateClientDeviceWithCoreDeviceCommand , BatchAssociateClientDeviceWithCoreDeviceCommandInput , BatchAssociateClientDeviceWithCoreDeviceCommandOutput , } from "./commands/BatchAssociateClientDeviceWithCoreDeviceCommand" ; import { BatchDisassociateClientDeviceFromCoreDeviceCommand , BatchDisassociateClientDeviceFromCoreDeviceCommandInput , BatchDisassociateClientDeviceFromCoreDeviceCommandOutput , } from "./commands/BatchDisassociateClientDeviceFromCoreDeviceCommand" ; import { CancelDeploymentCommand , CancelDeploymentCommandInput , CancelDeploymentCommandOutput , } from "./commands/CancelDeploymentCommand" ; import { CreateComponentVersionCommand , CreateComponentVersionCommandInput , CreateComponentVersionCommandOutput , } from "./commands/CreateComponentVersionCommand" ; import { CreateDeploymentCommand , CreateDeploymentCommandInput , CreateDeploymentCommandOutput , } from "./commands/CreateDeploymentCommand" ; import { DeleteComponentCommand , DeleteComponentCommandInput , DeleteComponentCommandOutput , } from "./commands/DeleteComponentCommand" ; import { DeleteCoreDeviceCommand , DeleteCoreDeviceCommandInput , DeleteCoreDeviceCommandOutput , } from "./commands/DeleteCoreDeviceCommand" ; import { DescribeComponentCommand , DescribeComponentCommandInput , DescribeComponentCommandOutput , } from "./commands/DescribeComponentCommand" ; import { DisassociateServiceRoleFromAccountCommand , DisassociateServiceRoleFromAccountCommandInput , DisassociateServiceRoleFromAccountCommandOutput , } from "./commands/DisassociateServiceRoleFromAccountCommand" ; import { GetComponentCommand , GetComponentCommandInput , GetComponentCommandOutput , } from "./commands/GetComponentCommand" ; import { GetComponentVersionArtifactCommand , GetComponentVersionArtifactCommandInput , GetComponentVersionArtifactCommandOutput , } from "./commands/GetComponentVersionArtifactCommand" ; import { GetConnectivityInfoCommand , GetConnectivityInfoCommandInput , GetConnectivityInfoCommandOutput , } from "./commands/GetConnectivityInfoCommand" ; import { GetCoreDeviceCommand , GetCoreDeviceCommandInput , GetCoreDeviceCommandOutput , } from "./commands/GetCoreDeviceCommand" ; import { GetDeploymentCommand , GetDeploymentCommandInput , GetDeploymentCommandOutput , } from "./commands/GetDeploymentCommand" ; import { GetServiceRoleForAccountCommand , GetServiceRoleForAccountCommandInput , GetServiceRoleForAccountCommandOutput , } from "./commands/GetServiceRoleForAccountCommand" ; import { ListClientDevicesAssociatedWithCoreDeviceCommand , ListClientDevicesAssociatedWithCoreDeviceCommandInput , ListClientDevicesAssociatedWithCoreDeviceCommandOutput , } from "./commands/ListClientDevicesAssociatedWithCoreDeviceCommand" ; import { ListComponentsCommand , ListComponentsCommandInput , ListComponentsCommandOutput , } from "./commands/ListComponentsCommand" ; import { ListComponentVersionsCommand , ListComponentVersionsCommandInput , ListComponentVersionsCommandOutput , } from "./commands/ListComponentVersionsCommand" ; import { ListCoreDevicesCommand , ListCoreDevicesCommandInput , ListCoreDevicesCommandOutput , } from "./commands/ListCoreDevicesCommand" ; import { ListDeploymentsCommand , ListDeploymentsCommandInput , ListDeploymentsCommandOutput , } from "./commands/ListDeploymentsCommand" ; import { ListEffectiveDeploymentsCommand , ListEffectiveDeploymentsCommandInput , ListEffectiveDeploymentsCommandOutput , } from "./commands/ListEffectiveDeploymentsCommand" ; import { ListInstalledComponentsCommand , ListInstalledComponentsCommandInput , ListInstalledComponentsCommandOutput , } from "./commands/ListInstalledComponentsCommand" ; import { ListTagsForResourceCommand , ListTagsForResourceCommandInput , ListTagsForResourceCommandOutput , } from "./commands/ListTagsForResourceCommand" ; import { ResolveComponentCandidatesCommand , ResolveComponentCandidatesCommandInput , ResolveComponentCandidatesCommandOutput , } from "./commands/ResolveComponentCandidatesCommand" ; import { TagResourceCommand , TagResourceCommandInput , TagResourceCommandOutput } from "./commands/TagResourceCommand" ; import { UntagResourceCommand , UntagResourceCommandInput , UntagResourceCommandOutput , } from "./commands/UntagResourceCommand" ; import { UpdateConnectivityInfoCommand , UpdateConnectivityInfoCommandInput , UpdateConnectivityInfoCommandOutput , } from "./commands/UpdateConnectivityInfoCommand" ; import { GreengrassV2Client } from "./GreengrassV2Client" ; /**
 * <p>IoT Greengrass brings local compute, messaging, data management, sync, and ML inference capabilities
 *       to edge devices. This enables devices to collect and analyze data closer to the source of
 *       information, react autonomously to local events, and communicate securely with each other on
 *       local networks. Local devices can also communicate securely with Amazon Web Services IoT Core and export IoT data
 *       to the Amazon Web Services Cloud. IoT Greengrass developers can use Lambda functions and components to create and
 *       deploy applications to fleets of edge devices for local operation.</p>
 *          <p>IoT Greengrass Version 2 provides a new major version of the IoT Greengrass Core software, new APIs, and a new console.
 *       Use this API reference to learn how to use the IoT Greengrass V2 API operations to manage components,
 *       manage deployments, and core devices.</p>
 *          <p>For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html">What is IoT Greengrass?</a> in
 *       the <i>IoT Greengrass V2 Developer Guide</i>.</p>
 */ export class GreengrassV2 extends GreengrassV2Client { /**
     * <p>Associates a Greengrass service role with IoT Greengrass for your Amazon Web Services account in this Amazon Web Services Region. IoT Greengrass
     *       uses this role to verify the identity of client devices and manage core device connectivity
     *       information. The role must include the <a href="https://console.aws.amazon.com/iam/home#/policies/arn:awsiam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy">AWSGreengrassResourceAccessRolePolicy</a> managed policy or a custom policy that
     *       defines equivalent permissions for the IoT Greengrass features that you use. For more information, see
     *         <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html">Greengrass service role</a> in the <i>IoT Greengrass Version 2 Developer Guide</i>.</p>
     */ public associateServiceRoleToAccount ( args , options ? ) ; public associateServiceRoleToAccount ( args , cb ) ; public associateServiceRoleToAccount ( args , options , cb ) ; public associateServiceRoleToAccount ( args , optionsOrCb ? , cb ? ) { const command = new AssociateServiceRoleToAccountCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Associates a list of client devices with a core device. Use this API operation to specify
     *       which client devices can discover a core device through cloud discovery. With cloud discovery,
     *       client devices connect to IoT Greengrass to retrieve associated core devices' connectivity information
     *       and certificates. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-cloud-discovery.html">Configure cloud
     *         discovery</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
     *
     *          <note>
     *             <p>Client devices are local IoT devices that connect to and communicate with an IoT Greengrass core
     *         device over MQTT. You can connect client devices to a core device to sync MQTT messages and
     *         data to Amazon Web Services IoT Core and interact with client devices in Greengrass components. For more information,
     *         see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/interact-with-local-iot-devices.html">Interact with
     *           local IoT devices</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
     *          </note>
     */ public batchAssociateClientDeviceWithCoreDevice ( args , options ? ) ; public batchAssociateClientDeviceWithCoreDevice ( args , cb ) ; public batchAssociateClientDeviceWithCoreDevice ( args , options , cb ) ; public batchAssociateClientDeviceWithCoreDevice ( args , optionsOrCb ? , cb ? ) { const command = new BatchAssociateClientDeviceWithCoreDeviceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disassociates a list of client devices from a core device. After you disassociate a client
     *       device from a core device, the client device won't be able to use cloud discovery to retrieve
     *       the core device's connectivity information and certificates.</p>
     */ public batchDisassociateClientDeviceFromCoreDevice ( args , options ? ) ; public batchDisassociateClientDeviceFromCoreDevice ( args , cb ) ; public batchDisassociateClientDeviceFromCoreDevice ( args , options , cb ) ; public batchDisassociateClientDeviceFromCoreDevice ( args , optionsOrCb ? , cb ? ) { const command = new BatchDisassociateClientDeviceFromCoreDeviceCommand ( 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 a deployment. This operation cancels the deployment for devices that haven't yet
     *       received it. If a device already received the deployment, this operation doesn't change
     *       anything for that device.</p>
     */ public cancelDeployment ( args , options ? ) ; public cancelDeployment ( args , cb ) ; public cancelDeployment ( args , options , cb ) ; public cancelDeployment ( args , optionsOrCb ? , cb ? ) { const command = new CancelDeploymentCommand ( 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 component. Components are software that run on Greengrass core devices. After you
     *       develop and test a component on your core device, you can use this operation to upload your
     *       component to IoT Greengrass. Then, you can deploy the component to other core devices.</p>
     *          <p>You can use this operation to do the following:</p>
     *          <ul>
     *             <li>
     *                <p>
     *                   <b>Create components from recipes</b>
     *                </p>
     *                <p>Create a component from a recipe, which is a file that defines the component's
     *           metadata, parameters, dependencies, lifecycle, artifacts, and platform capability. For
     *           more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html">IoT Greengrass component recipe
     *             reference</a> in the <i>IoT Greengrass V2 Developer Guide</i>.</p>
     *                <p>To create a component from a recipe, specify <code>inlineRecipe</code> when you call
     *           this operation.</p>
     *             </li>
     *             <li>
     *                <p>
     *                   <b>Create components from Lambda functions</b>
     *                </p>
     *                <p>Create a component from an Lambda function that runs on IoT Greengrass. This creates a recipe
     *           and artifacts from the Lambda function's deployment package. You can use this operation to
     *           migrate Lambda functions from IoT Greengrass V1 to IoT Greengrass V2.</p>
     *                <p>This function only accepts Lambda functions that use the following runtimes:</p>
     *                <ul>
     *                   <li>
     *                      <p>Python 2.7 – <code>python2.7</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>Python 3.7 – <code>python3.7</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>Python 3.8 – <code>python3.8</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>Java 8 – <code>java8</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>Node.js 10 – <code>nodejs10.x</code>
     *                      </p>
     *                   </li>
     *                   <li>
     *                      <p>Node.js 12 – <code>nodejs12.x</code>
     *                      </p>
     *                   </li>
     *                </ul>
     *                <p>To create a component from a Lambda function, specify <code>lambdaFunction</code>
     *           when you call this operation.</p>
     *                <note>
     *                   <p>IoT Greengrass currently supports Lambda functions on only Linux core devices.</p>
     *                </note>
     *             </li>
     *          </ul>
     */ public createComponentVersion ( args , options ? ) ; public createComponentVersion ( args , cb ) ; public createComponentVersion ( args , options , cb ) ; public createComponentVersion ( args , optionsOrCb ? , cb ? ) { const command = new CreateComponentVersionCommand ( 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 continuous deployment for a target, which is a Greengrass core device or group of core
     *       devices. When you add a new core device to a group of core devices that has a deployment, IoT Greengrass
     *       deploys that group's deployment to the new device.</p>
     *          <p>You can define one deployment for each target. When you create a new deployment for a
     *       target that has an existing deployment, you replace the previous deployment. IoT Greengrass applies the
     *       new deployment to the target devices.</p>
     *          <p>Every deployment has a revision number that indicates how many deployment revisions you
     *       define for a target. Use this operation to create a new revision of an existing deployment.
     *       This operation returns the revision number of the new deployment when you create it.</p>
     *          <p>For more information, see the <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html">Create deployments</a> in the
     *         <i>IoT Greengrass V2 Developer Guide</i>.</p>
     */ public createDeployment ( args , options ? ) ; public createDeployment ( args , cb ) ; public createDeployment ( args , options , cb ) ; public createDeployment ( args , optionsOrCb ? , cb ? ) { const command = new CreateDeploymentCommand ( 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 a version of a component from IoT Greengrass.</p>
     *          <note>
     *             <p>This operation deletes the component's recipe and artifacts. As a result, deployments
     *         that refer to this component version will fail. If you have deployments that use this
     *         component version, you can remove the component from the deployment or update the deployment
     *         to use a valid version.</p>
     *          </note>
     */ public deleteComponent ( args , options ? ) ; public deleteComponent ( args , cb ) ; public deleteComponent ( args , options , cb ) ; public deleteComponent ( args , optionsOrCb ? , cb ? ) { const command = new DeleteComponentCommand ( 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 a Greengrass core device, which is an IoT thing. This operation removes the core
     *       device from the list of core devices. This operation doesn't delete the IoT thing. For more
     *       information about how to delete the IoT thing, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteThing.html">DeleteThing</a> in the
     *         <i>IoT API Reference</i>.</p>
     */ public deleteCoreDevice ( args , options ? ) ; public deleteCoreDevice ( args , cb ) ; public deleteCoreDevice ( args , options , cb ) ; public deleteCoreDevice ( args , optionsOrCb ? , cb ? ) { const command = new DeleteCoreDeviceCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves metadata for a version of a component.</p>
     */ public describeComponent ( args , options ? ) ; public describeComponent ( args , cb ) ; public describeComponent ( args , options , cb ) ; public describeComponent ( args , optionsOrCb ? , cb ? ) { const command = new DescribeComponentCommand ( 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 Greengrass service role from IoT Greengrass for your Amazon Web Services account in this Amazon Web Services Region.
     *       Without a service role, IoT Greengrass can't verify the identity of client devices or manage core device
     *       connectivity information. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html">Greengrass service role</a> in
     *       the <i>IoT Greengrass Version 2 Developer Guide</i>.</p>
     */ public disassociateServiceRoleFromAccount ( args , options ? ) ; public disassociateServiceRoleFromAccount ( args , cb ) ; public disassociateServiceRoleFromAccount ( args , options , cb ) ; public disassociateServiceRoleFromAccount ( args , optionsOrCb ? , cb ? ) { const command = new DisassociateServiceRoleFromAccountCommand ( 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 recipe for a version of a component. Core devices can call this operation to
     *       identify the artifacts and requirements to install a component.</p>
     */ public getComponent ( args , options ? ) ; public getComponent ( args , cb ) ; public getComponent ( args , options , cb ) ; public getComponent ( args , optionsOrCb ? , cb ? ) { const command = new GetComponentCommand ( 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 pre-signed URL to download a public component artifact. Core devices call this
     *       operation to identify the URL that they can use to download an artifact to install.</p>
     */ public getComponentVersionArtifact ( args , options ? ) ; public getComponentVersionArtifact ( args , cb ) ; public getComponentVersionArtifact ( args , options , cb ) ; public getComponentVersionArtifact ( args , optionsOrCb ? , cb ? ) { const command = new GetComponentVersionArtifactCommand ( 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 connectivity information for a Greengrass core device.</p>
     *          <p>Connectivity information includes endpoints and ports where client devices
     *       can connect to an MQTT broker on the core device. When a client device
     *       calls the <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-discover-api.html">Greengrass discovery API</a>,
     *       IoT Greengrass returns connectivity information for all of the core devices where the client device can
     *       connect. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/connect-client-devices.html">Connect client devices to
     *         core devices</a> in the <i>IoT Greengrass Version 2 Developer Guide</i>.</p>
     */ public getConnectivityInfo ( args , options ? ) ; public getConnectivityInfo ( args , cb ) ; public getConnectivityInfo ( args , options , cb ) ; public getConnectivityInfo ( args , optionsOrCb ? , cb ? ) { const command = new GetConnectivityInfoCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves metadata for a Greengrass core device.</p>
     */ public getCoreDevice ( args , options ? ) ; public getCoreDevice ( args , cb ) ; public getCoreDevice ( args , options , cb ) ; public getCoreDevice ( args , optionsOrCb ? , cb ? ) { const command = new GetCoreDeviceCommand ( 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 a deployment. Deployments define the components that run on Greengrass core devices.</p>
     */ public getDeployment ( args , options ? ) ; public getDeployment ( args , cb ) ; public getDeployment ( args , options , cb ) ; public getDeployment ( args , optionsOrCb ? , cb ? ) { const command = new GetDeploymentCommand ( 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 service role associated with IoT Greengrass for your Amazon Web Services account in this Amazon Web Services Region.
     *       IoT Greengrass uses this role to verify the identity of client devices and manage core device
     *       connectivity information. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-service-role.html">Greengrass service role</a> in
     *       the <i>IoT Greengrass Version 2 Developer Guide</i>.</p>
     */ public getServiceRoleForAccount ( args , options ? ) ; public getServiceRoleForAccount ( args , cb ) ; public getServiceRoleForAccount ( args , options , cb ) ; public getServiceRoleForAccount ( args , optionsOrCb ? , cb ? ) { const command = new GetServiceRoleForAccountCommand ( 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 paginated list of client devices that are associated with a core
     *       device.</p>
     */ public listClientDevicesAssociatedWithCoreDevice ( args , options ? ) ; public listClientDevicesAssociatedWithCoreDevice ( args , cb ) ; public listClientDevicesAssociatedWithCoreDevice ( args , options , cb ) ; public listClientDevicesAssociatedWithCoreDevice ( args , optionsOrCb ? , cb ? ) { const command = new ListClientDevicesAssociatedWithCoreDeviceCommand ( 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 paginated list of component summaries. This list includes components that you
     *       have permission to view.</p>
     */ public listComponents ( args , options ? ) ; public listComponents ( args , cb ) ; public listComponents ( args , options , cb ) ; public listComponents ( args , optionsOrCb ? , cb ? ) { const command = new ListComponentsCommand ( 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 paginated list of all versions for a component. Greater versions are listed first.</p>
     */ public listComponentVersions ( args , options ? ) ; public listComponentVersions ( args , cb ) ; public listComponentVersions ( args , options , cb ) ; public listComponentVersions ( args , optionsOrCb ? , cb ? ) { const command = new ListComponentVersionsCommand ( 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 paginated list of Greengrass core devices.</p>
     */ public listCoreDevices ( args , options ? ) ; public listCoreDevices ( args , cb ) ; public listCoreDevices ( args , options , cb ) ; public listCoreDevices ( args , optionsOrCb ? , cb ? ) { const command = new ListCoreDevicesCommand ( 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 paginated list of deployments.</p>
     */ public listDeployments ( args , options ? ) ; public listDeployments ( args , cb ) ; public listDeployments ( args , options , cb ) ; public listDeployments ( args , optionsOrCb ? , cb ? ) { const command = new ListDeploymentsCommand ( 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 paginated list of deployment jobs that IoT Greengrass sends to Greengrass core
     *       devices.</p>
     */ public listEffectiveDeployments ( args , options ? ) ; public listEffectiveDeployments ( args , cb ) ; public listEffectiveDeployments ( args , options , cb ) ; public listEffectiveDeployments ( args , optionsOrCb ? , cb ? ) { const command = new ListEffectiveDeploymentsCommand ( 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 paginated list of the components that a Greengrass core device runs.</p>
     */ public listInstalledComponents ( args , options ? ) ; public listInstalledComponents ( args , cb ) ; public listInstalledComponents ( args , options , cb ) ; public listInstalledComponents ( args , optionsOrCb ? , cb ? ) { const command = new ListInstalledComponentsCommand ( 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 list of tags for an IoT Greengrass 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>Retrieves a list of components that meet the component, version, and platform requirements
     *       of a deployment. Greengrass core devices call this operation when they receive a deployment to
     *       identify the components to install.</p>
     *          <p>This operation identifies components that meet all dependency requirements for a
     *       deployment. If the requirements conflict, then this operation returns an error and the
     *       deployment fails. For example, this occurs if component <code>A</code> requires version
     *         <code>>2.0.0</code> and component <code>B</code> requires version <code><2.0.0</code>
     *       of a component dependency.</p>
     *          <p>When you specify the component candidates to resolve, IoT Greengrass compares each component's
     *       digest from the core device with the component's digest in the Amazon Web Services Cloud. If the digests don't
     *       match, then IoT Greengrass specifies to use the version from the Amazon Web Services Cloud.</p>
     *          <important>
     *             <p>To use this operation, you must use the data plane API endpoint and authenticate with an
     *         IoT device certificate. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/greengrass.html">IoT Greengrass endpoints and quotas</a>.</p>
     *          </important>
     */ public resolveComponentCandidates ( args , options ? ) ; public resolveComponentCandidates ( args , cb ) ; public resolveComponentCandidates ( args , options , cb ) ; public resolveComponentCandidates ( args , optionsOrCb ? , cb ? ) { const command = new ResolveComponentCandidatesCommand ( 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 tags to an IoT Greengrass resource. If a tag already exists for the resource, this operation
     *       updates the tag's value.</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 an IoT Greengrass 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 connectivity information for a Greengrass core device.</p>
     *          <p>Connectivity information includes endpoints and ports where client devices
     *       can connect to an MQTT broker on the core device. When a client device
     *       calls the <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-discover-api.html">Greengrass discovery API</a>,
     *       IoT Greengrass returns connectivity information for all of the core devices where the client device can
     *       connect. For more information, see <a href="https://docs.aws.amazon.com/greengrass/v2/developerguide/connect-client-devices.html">Connect client devices to
     *         core devices</a> in the <i>IoT Greengrass Version 2 Developer Guide</i>.</p>
     */ public updateConnectivityInfo ( args , options ? ) ; public updateConnectivityInfo ( args , cb ) ; public updateConnectivityInfo ( args , options , cb ) ; public updateConnectivityInfo ( args , optionsOrCb ? , cb ? ) { const command = new UpdateConnectivityInfoCommand ( 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 ) ; } } }