/*
* 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
}
}