/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the greengrassv2-2020-11-30.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.GreengrassV2.Model; using Amazon.GreengrassV2.Model.Internal.MarshallTransformations; using Amazon.GreengrassV2.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.GreengrassV2 { /// /// Implementation for accessing GreengrassV2 /// /// 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. /// /// /// /// 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. /// /// /// /// For more information, see What /// is IoT Greengrass? in the IoT Greengrass V2 Developer Guide. /// /// public partial class AmazonGreengrassV2Client : AmazonServiceClient, IAmazonGreengrassV2 { private static IServiceMetadata serviceMetadata = new AmazonGreengrassV2Metadata(); #region Constructors /// /// Constructs AmazonGreengrassV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonGreengrassV2Client() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonGreengrassV2Config()) { } /// /// Constructs AmazonGreengrassV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonGreengrassV2Client(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonGreengrassV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonGreengrassV2Client with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonGreengrassV2Client Configuration Object public AmazonGreengrassV2Client(AmazonGreengrassV2Config config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonGreengrassV2Client with AWS Credentials /// /// AWS Credentials public AmazonGreengrassV2Client(AWSCredentials credentials) : this(credentials, new AmazonGreengrassV2Config()) { } /// /// Constructs AmazonGreengrassV2Client with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonGreengrassV2Client(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonGreengrassV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonGreengrassV2Client with AWS Credentials and an /// AmazonGreengrassV2Client Configuration object. /// /// AWS Credentials /// The AmazonGreengrassV2Client Configuration Object public AmazonGreengrassV2Client(AWSCredentials credentials, AmazonGreengrassV2Config clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonGreengrassV2Config()) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonGreengrassV2Config() {RegionEndpoint=region}) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID, AWS Secret Key and an /// AmazonGreengrassV2Client Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonGreengrassV2Client Configuration Object public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey, AmazonGreengrassV2Config clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonGreengrassV2Config()) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonGreengrassV2Config{RegionEndpoint = region}) { } /// /// Constructs AmazonGreengrassV2Client with AWS Access Key ID, AWS Secret Key and an /// AmazonGreengrassV2Client Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonGreengrassV2Client Configuration Object public AmazonGreengrassV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonGreengrassV2Config clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private IGreengrassV2PaginatorFactory _paginators; /// /// Paginators for the service /// public IGreengrassV2PaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new GreengrassV2PaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonGreengrassV2EndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region AssociateServiceRoleToAccount internal virtual AssociateServiceRoleToAccountResponse AssociateServiceRoleToAccount(AssociateServiceRoleToAccountRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = AssociateServiceRoleToAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = AssociateServiceRoleToAccountResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 AWSGreengrassResourceAccessRolePolicy /// managed policy or a custom policy that defines equivalent permissions for the IoT /// Greengrass features that you use. For more information, see Greengrass /// service role in the IoT Greengrass Version 2 Developer Guide. /// /// Container for the necessary parameters to execute the AssociateServiceRoleToAccount service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the AssociateServiceRoleToAccount service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for AssociateServiceRoleToAccount Operation public virtual Task AssociateServiceRoleToAccountAsync(AssociateServiceRoleToAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = AssociateServiceRoleToAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = AssociateServiceRoleToAccountResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchAssociateClientDeviceWithCoreDevice internal virtual BatchAssociateClientDeviceWithCoreDeviceResponse BatchAssociateClientDeviceWithCoreDevice(BatchAssociateClientDeviceWithCoreDeviceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchAssociateClientDeviceWithCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchAssociateClientDeviceWithCoreDeviceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 Configure /// cloud discovery in the IoT Greengrass V2 Developer Guide. /// /// /// /// 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 Interact /// with local IoT devices in the IoT Greengrass V2 Developer Guide. /// /// /// /// Container for the necessary parameters to execute the BatchAssociateClientDeviceWithCoreDevice service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchAssociateClientDeviceWithCoreDevice service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for BatchAssociateClientDeviceWithCoreDevice Operation public virtual Task BatchAssociateClientDeviceWithCoreDeviceAsync(BatchAssociateClientDeviceWithCoreDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchAssociateClientDeviceWithCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchAssociateClientDeviceWithCoreDeviceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region BatchDisassociateClientDeviceFromCoreDevice internal virtual BatchDisassociateClientDeviceFromCoreDeviceResponse BatchDisassociateClientDeviceFromCoreDevice(BatchDisassociateClientDeviceFromCoreDeviceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDisassociateClientDeviceFromCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDisassociateClientDeviceFromCoreDeviceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the BatchDisassociateClientDeviceFromCoreDevice service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the BatchDisassociateClientDeviceFromCoreDevice service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for BatchDisassociateClientDeviceFromCoreDevice Operation public virtual Task BatchDisassociateClientDeviceFromCoreDeviceAsync(BatchDisassociateClientDeviceFromCoreDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = BatchDisassociateClientDeviceFromCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = BatchDisassociateClientDeviceFromCoreDeviceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CancelDeployment internal virtual CancelDeploymentResponse CancelDeployment(CancelDeploymentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CancelDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = CancelDeploymentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CancelDeployment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CancelDeployment service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for CancelDeployment Operation public virtual Task CancelDeploymentAsync(CancelDeploymentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CancelDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = CancelDeploymentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateComponentVersion internal virtual CreateComponentVersionResponse CreateComponentVersion(CreateComponentVersionRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateComponentVersionRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateComponentVersionResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// /// You can use this operation to do the following: /// ///
  • /// /// Create components from recipes /// /// /// /// 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 IoT /// Greengrass component recipe reference in the IoT Greengrass V2 Developer Guide. /// /// /// /// To create a component from a recipe, specify inlineRecipe when you call /// this operation. /// ///
  • /// /// Create components from Lambda functions /// /// /// /// 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. /// /// /// /// This function only accepts Lambda functions that use the following runtimes: /// ///
    • /// /// Python 2.7 – python2.7 /// ///
    • /// /// Python 3.7 – python3.7 /// ///
    • /// /// Python 3.8 – python3.8 /// ///
    • /// /// Python 3.9 – python3.9 /// ///
    • /// /// Java 8 – java8 /// ///
    • /// /// Java 11 – java11 /// ///
    • /// /// Node.js 10 – nodejs10.x /// ///
    • /// /// Node.js 12 – nodejs12.x /// ///
    • /// /// Node.js 14 – nodejs14.x /// ///
    /// /// To create a component from a Lambda function, specify lambdaFunction /// when you call this operation. /// /// /// /// IoT Greengrass currently supports Lambda functions on only Linux core devices. /// ///
///
/// Container for the necessary parameters to execute the CreateComponentVersion service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateComponentVersion service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The request is already in progress. This exception occurs when you use a client token /// for multiple requests while IoT Greengrass is still processing an earlier request /// that uses the same client token. /// /// /// Your request exceeds a service quota. For example, you might have the maximum number /// of components that you can create. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for CreateComponentVersion Operation public virtual Task CreateComponentVersionAsync(CreateComponentVersionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateComponentVersionRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateComponentVersionResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateDeployment internal virtual CreateDeploymentResponse CreateDeployment(CreateDeploymentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDeploymentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// /// 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. /// /// /// /// 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. /// /// /// /// For more information, see the Create /// deployments in the IoT Greengrass V2 Developer Guide. /// /// /// Container for the necessary parameters to execute the CreateDeployment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateDeployment service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The request is already in progress. This exception occurs when you use a client token /// for multiple requests while IoT Greengrass is still processing an earlier request /// that uses the same client token. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for CreateDeployment Operation public virtual Task CreateDeploymentAsync(CreateDeploymentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDeploymentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteComponent internal virtual DeleteComponentResponse DeleteComponent(DeleteComponentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteComponentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes a version of a component from IoT Greengrass. /// /// /// /// 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. /// /// /// /// Container for the necessary parameters to execute the DeleteComponent service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteComponent service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for DeleteComponent Operation public virtual Task DeleteComponentAsync(DeleteComponentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteComponentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteCoreDevice internal virtual DeleteCoreDeviceResponse DeleteCoreDevice(DeleteCoreDeviceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteCoreDeviceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 DeleteThing /// in the IoT API Reference. /// /// Container for the necessary parameters to execute the DeleteCoreDevice service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteCoreDevice service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for DeleteCoreDevice Operation public virtual Task DeleteCoreDeviceAsync(DeleteCoreDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteCoreDeviceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteDeployment internal virtual DeleteDeploymentResponse DeleteDeployment(DeleteDeploymentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDeploymentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Deletes a deployment. To delete an active deployment, you must first cancel it. For /// more information, see CancelDeployment. /// /// /// /// Deleting a deployment doesn't affect core devices that run that deployment, because /// core devices store the deployment's configuration on the device. Additionally, core /// devices can roll back to a previous deployment that has been deleted. /// /// /// Container for the necessary parameters to execute the DeleteDeployment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteDeployment service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for DeleteDeployment Operation public virtual Task DeleteDeploymentAsync(DeleteDeploymentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDeploymentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeComponent internal virtual DescribeComponentResponse DescribeComponent(DescribeComponentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeComponentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves metadata for a version of a component. /// /// Container for the necessary parameters to execute the DescribeComponent service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeComponent service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for DescribeComponent Operation public virtual Task DescribeComponentAsync(DescribeComponentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeComponentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DisassociateServiceRoleFromAccount internal virtual DisassociateServiceRoleFromAccountResponse DisassociateServiceRoleFromAccount(DisassociateServiceRoleFromAccountRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DisassociateServiceRoleFromAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = DisassociateServiceRoleFromAccountResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 Greengrass /// service role in the IoT Greengrass Version 2 Developer Guide. /// /// Container for the necessary parameters to execute the DisassociateServiceRoleFromAccount service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DisassociateServiceRoleFromAccount service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// REST API Reference for DisassociateServiceRoleFromAccount Operation public virtual Task DisassociateServiceRoleFromAccountAsync(DisassociateServiceRoleFromAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DisassociateServiceRoleFromAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = DisassociateServiceRoleFromAccountResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetComponent internal virtual GetComponentResponse GetComponent(GetComponentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetComponentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets the recipe for a version of a component. /// /// Container for the necessary parameters to execute the GetComponent service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetComponent service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for GetComponent Operation public virtual Task GetComponentAsync(GetComponentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetComponentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetComponentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetComponentVersionArtifact internal virtual GetComponentVersionArtifactResponse GetComponentVersionArtifact(GetComponentVersionArtifactRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetComponentVersionArtifactRequestMarshaller.Instance; options.ResponseUnmarshaller = GetComponentVersionArtifactResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets the pre-signed URL to download a public or a Lambda component artifact. Core /// devices call this operation to identify the URL that they can use to download an artifact /// to install. /// /// Container for the necessary parameters to execute the GetComponentVersionArtifact service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetComponentVersionArtifact service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for GetComponentVersionArtifact Operation public virtual Task GetComponentVersionArtifactAsync(GetComponentVersionArtifactRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetComponentVersionArtifactRequestMarshaller.Instance; options.ResponseUnmarshaller = GetComponentVersionArtifactResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetConnectivityInfo internal virtual GetConnectivityInfoResponse GetConnectivityInfo(GetConnectivityInfoRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetConnectivityInfoRequestMarshaller.Instance; options.ResponseUnmarshaller = GetConnectivityInfoResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves connectivity information for a Greengrass core device. /// /// /// /// 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 IoT /// Greengrass discovery API, IoT Greengrass returns connectivity information for /// all of the core devices where the client device can connect. For more information, /// see Connect /// client devices to core devices in the IoT Greengrass Version 2 Developer Guide. /// /// /// Container for the necessary parameters to execute the GetConnectivityInfo service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetConnectivityInfo service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for GetConnectivityInfo Operation public virtual Task GetConnectivityInfoAsync(GetConnectivityInfoRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetConnectivityInfoRequestMarshaller.Instance; options.ResponseUnmarshaller = GetConnectivityInfoResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetCoreDevice internal virtual GetCoreDeviceResponse GetCoreDevice(GetCoreDeviceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = GetCoreDeviceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves metadata for a Greengrass core device. /// /// /// /// IoT Greengrass relies on individual devices to send status updates to the Amazon Web /// Services Cloud. If the IoT Greengrass Core software isn't running on the device, or /// if device isn't connected to the Amazon Web Services Cloud, then the reported status /// of that device might not reflect its current status. The status timestamp indicates /// when the device status was last updated. /// /// /// /// Core devices send status updates at the following times: /// ///
  • /// /// When the IoT Greengrass Core software starts /// ///
  • /// /// When the core device receives a deployment from the Amazon Web Services Cloud /// ///
  • /// /// When the status of any component on the core device becomes BROKEN /// ///
  • /// /// At a regular /// interval that you can configure, which defaults to 24 hours /// ///
  • /// /// For IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment /// and cloud deployment /// ///
///
/// Container for the necessary parameters to execute the GetCoreDevice service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetCoreDevice service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for GetCoreDevice Operation public virtual Task GetCoreDeviceAsync(GetCoreDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = GetCoreDeviceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetDeployment internal virtual GetDeploymentResponse GetDeployment(GetDeploymentRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDeploymentResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Gets a deployment. Deployments define the components that run on Greengrass core devices. /// /// Container for the necessary parameters to execute the GetDeployment service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetDeployment service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for GetDeployment Operation public virtual Task GetDeploymentAsync(GetDeploymentRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetDeploymentRequestMarshaller.Instance; options.ResponseUnmarshaller = GetDeploymentResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetServiceRoleForAccount internal virtual GetServiceRoleForAccountResponse GetServiceRoleForAccount(GetServiceRoleForAccountRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetServiceRoleForAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = GetServiceRoleForAccountResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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 Greengrass /// service role in the IoT Greengrass Version 2 Developer Guide. /// /// Container for the necessary parameters to execute the GetServiceRoleForAccount service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetServiceRoleForAccount service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// REST API Reference for GetServiceRoleForAccount Operation public virtual Task GetServiceRoleForAccountAsync(GetServiceRoleForAccountRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetServiceRoleForAccountRequestMarshaller.Instance; options.ResponseUnmarshaller = GetServiceRoleForAccountResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListClientDevicesAssociatedWithCoreDevice internal virtual ListClientDevicesAssociatedWithCoreDeviceResponse ListClientDevicesAssociatedWithCoreDevice(ListClientDevicesAssociatedWithCoreDeviceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListClientDevicesAssociatedWithCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListClientDevicesAssociatedWithCoreDeviceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of client devices that are associated with a core device. /// /// Container for the necessary parameters to execute the ListClientDevicesAssociatedWithCoreDevice service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListClientDevicesAssociatedWithCoreDevice service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListClientDevicesAssociatedWithCoreDevice Operation public virtual Task ListClientDevicesAssociatedWithCoreDeviceAsync(ListClientDevicesAssociatedWithCoreDeviceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListClientDevicesAssociatedWithCoreDeviceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListClientDevicesAssociatedWithCoreDeviceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListComponents internal virtual ListComponentsResponse ListComponents(ListComponentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListComponentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListComponentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of component summaries. This list includes components that /// you have permission to view. /// /// Container for the necessary parameters to execute the ListComponents service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListComponents service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListComponents Operation public virtual Task ListComponentsAsync(ListComponentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListComponentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListComponentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListComponentVersions internal virtual ListComponentVersionsResponse ListComponentVersions(ListComponentVersionsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListComponentVersionsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListComponentVersionsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of all versions for a component. Greater versions are listed /// first. /// /// Container for the necessary parameters to execute the ListComponentVersions service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListComponentVersions service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListComponentVersions Operation public virtual Task ListComponentVersionsAsync(ListComponentVersionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListComponentVersionsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListComponentVersionsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListCoreDevices internal virtual ListCoreDevicesResponse ListCoreDevices(ListCoreDevicesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListCoreDevicesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListCoreDevicesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of Greengrass core devices. /// /// /// /// IoT Greengrass relies on individual devices to send status updates to the Amazon Web /// Services Cloud. If the IoT Greengrass Core software isn't running on the device, or /// if device isn't connected to the Amazon Web Services Cloud, then the reported status /// of that device might not reflect its current status. The status timestamp indicates /// when the device status was last updated. /// /// /// /// Core devices send status updates at the following times: /// ///
  • /// /// When the IoT Greengrass Core software starts /// ///
  • /// /// When the core device receives a deployment from the Amazon Web Services Cloud /// ///
  • /// /// When the status of any component on the core device becomes BROKEN /// ///
  • /// /// At a regular /// interval that you can configure, which defaults to 24 hours /// ///
  • /// /// For IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment /// and cloud deployment /// ///
///
/// Container for the necessary parameters to execute the ListCoreDevices service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListCoreDevices service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListCoreDevices Operation public virtual Task ListCoreDevicesAsync(ListCoreDevicesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListCoreDevicesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListCoreDevicesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListDeployments internal virtual ListDeploymentsResponse ListDeployments(ListDeploymentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListDeploymentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDeploymentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of deployments. /// /// Container for the necessary parameters to execute the ListDeployments service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListDeployments service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListDeployments Operation public virtual Task ListDeploymentsAsync(ListDeploymentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListDeploymentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDeploymentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListEffectiveDeployments internal virtual ListEffectiveDeploymentsResponse ListEffectiveDeployments(ListEffectiveDeploymentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListEffectiveDeploymentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListEffectiveDeploymentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of deployment jobs that IoT Greengrass sends to Greengrass /// core devices. /// /// Container for the necessary parameters to execute the ListEffectiveDeployments service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListEffectiveDeployments service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListEffectiveDeployments Operation public virtual Task ListEffectiveDeploymentsAsync(ListEffectiveDeploymentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListEffectiveDeploymentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListEffectiveDeploymentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListInstalledComponents internal virtual ListInstalledComponentsResponse ListInstalledComponents(ListInstalledComponentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListInstalledComponentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListInstalledComponentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a paginated list of the components that a Greengrass core device runs. By /// default, this list doesn't include components that are deployed as dependencies of /// other components. To include dependencies in the response, set the topologyFilter /// parameter to ALL. /// /// /// /// IoT Greengrass relies on individual devices to send status updates to the Amazon Web /// Services Cloud. If the IoT Greengrass Core software isn't running on the device, or /// if device isn't connected to the Amazon Web Services Cloud, then the reported status /// of that device might not reflect its current status. The status timestamp indicates /// when the device status was last updated. /// /// /// /// Core devices send status updates at the following times: /// ///
  • /// /// When the IoT Greengrass Core software starts /// ///
  • /// /// When the core device receives a deployment from the Amazon Web Services Cloud /// ///
  • /// /// When the status of any component on the core device becomes BROKEN /// ///
  • /// /// At a regular /// interval that you can configure, which defaults to 24 hours /// ///
  • /// /// For IoT Greengrass Core v2.7.0, the core device sends status updates upon local deployment /// and cloud deployment /// ///
///
/// Container for the necessary parameters to execute the ListInstalledComponents service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListInstalledComponents service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListInstalledComponents Operation public virtual Task ListInstalledComponentsAsync(ListInstalledComponentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListInstalledComponentsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListInstalledComponentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves the list of tags for an IoT Greengrass resource. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ListTagsForResource Operation public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ResolveComponentCandidates internal virtual ResolveComponentCandidatesResponse ResolveComponentCandidates(ResolveComponentCandidatesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ResolveComponentCandidatesRequestMarshaller.Instance; options.ResponseUnmarshaller = ResolveComponentCandidatesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// /// 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 A requires version >2.0.0 /// and component B requires version <2.0.0 of a component /// dependency. /// /// /// /// 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. /// /// /// /// To use this operation, you must use the data plane API endpoint and authenticate with /// an IoT device certificate. For more information, see IoT /// Greengrass endpoints and quotas. /// /// /// /// Container for the necessary parameters to execute the ResolveComponentCandidates service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ResolveComponentCandidates service method, as returned by GreengrassV2. /// /// You don't have permission to perform the action. /// /// /// Your request has conflicting operations. This can occur if you're trying to perform /// more than one operation on the same resource at the same time. /// /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// Your request exceeded a request rate quota. For example, you might have exceeded the /// amount of times that you can retrieve device or deployment status per second. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for ResolveComponentCandidates Operation public virtual Task ResolveComponentCandidatesAsync(ResolveComponentCandidatesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ResolveComponentCandidatesRequestMarshaller.Instance; options.ResponseUnmarshaller = ResolveComponentCandidatesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Adds tags to an IoT Greengrass resource. If a tag already exists for the resource, /// this operation updates the tag's value. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for TagResource Operation public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Removes a tag from an IoT Greengrass resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The requested resource can't be found. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for UntagResource Operation public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateConnectivityInfo internal virtual UpdateConnectivityInfoResponse UpdateConnectivityInfo(UpdateConnectivityInfoRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateConnectivityInfoRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateConnectivityInfoResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Updates connectivity information for a Greengrass core device. /// /// /// /// 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 IoT /// Greengrass discovery API, IoT Greengrass returns connectivity information for /// all of the core devices where the client device can connect. For more information, /// see Connect /// client devices to core devices in the IoT Greengrass Version 2 Developer Guide. /// /// /// Container for the necessary parameters to execute the UpdateConnectivityInfo service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateConnectivityInfo service method, as returned by GreengrassV2. /// /// IoT Greengrass can't process your request right now. Try again later. /// /// /// The request isn't valid. This can occur if your request contains malformed JSON or /// unsupported characters. /// /// REST API Reference for UpdateConnectivityInfo Operation public virtual Task UpdateConnectivityInfoAsync(UpdateConnectivityInfoRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateConnectivityInfoRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateConnectivityInfoResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }