# frozen_string_literal: true # WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE module Aws::GreengrassV2 module Types # You don't have permission to perform the action. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AccessDeniedException AWS API Documentation # class AccessDeniedException < Struct.new( :message) SENSITIVE = [] include Aws::Structure end # Contains a request to associate a client device with a core device. # The [BatchAssociateClientDeviceWithCoreDevice][1] operation consumes a # list of these requests. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html # # @!attribute [rw] thing_name # The name of the IoT thing that represents the client device to # associate. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateClientDeviceWithCoreDeviceEntry AWS API Documentation # class AssociateClientDeviceWithCoreDeviceEntry < Struct.new( :thing_name) SENSITIVE = [] include Aws::Structure end # Contains an error that occurs from a request to associate a client # device with a core device. The # [BatchAssociateClientDeviceWithCoreDevice][1] operation returns a list # of these errors. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchAssociateClientDeviceWithCoreDevice.html # # @!attribute [rw] thing_name # The name of the IoT thing whose associate request failed. # @return [String] # # @!attribute [rw] code # The error code for the request. # @return [String] # # @!attribute [rw] message # A message that provides additional information about the error. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateClientDeviceWithCoreDeviceErrorEntry AWS API Documentation # class AssociateClientDeviceWithCoreDeviceErrorEntry < Struct.new( :thing_name, :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] role_arn # The Amazon Resource Name (ARN) of the service role to associate with # IoT Greengrass for your Amazon Web Services account in this Amazon # Web Services Region. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateServiceRoleToAccountRequest AWS API Documentation # class AssociateServiceRoleToAccountRequest < Struct.new( :role_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] associated_at # The time when the service role was associated with IoT Greengrass # for your Amazon Web Services account in this Amazon Web Services # Region. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociateServiceRoleToAccountResponse AWS API Documentation # class AssociateServiceRoleToAccountResponse < Struct.new( :associated_at) SENSITIVE = [] include Aws::Structure end # Contains information about a client device that is associated to a # core device for cloud discovery. # # @!attribute [rw] thing_name # The name of the IoT thing that represents the associated client # device. # @return [String] # # @!attribute [rw] association_timestamp # The time that the client device was associated, expressed in ISO # 8601 format. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/AssociatedClientDevice AWS API Documentation # class AssociatedClientDevice < Struct.new( :thing_name, :association_timestamp) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] entries # The list of client devices to associate. # @return [Array] # # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceRequest AWS API Documentation # class BatchAssociateClientDeviceWithCoreDeviceRequest < Struct.new( :entries, :core_device_thing_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] error_entries # The list of any errors for the entries in the request. Each error # entry contains the name of the IoT thing that failed to associate. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchAssociateClientDeviceWithCoreDeviceResponse AWS API Documentation # class BatchAssociateClientDeviceWithCoreDeviceResponse < Struct.new( :error_entries) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] entries # The list of client devices to disassociate. # @return [Array] # # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDeviceRequest AWS API Documentation # class BatchDisassociateClientDeviceFromCoreDeviceRequest < Struct.new( :entries, :core_device_thing_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] error_entries # The list of any errors for the entries in the request. Each error # entry contains the name of the IoT thing that failed to # disassociate. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/BatchDisassociateClientDeviceFromCoreDeviceResponse AWS API Documentation # class BatchDisassociateClientDeviceFromCoreDeviceResponse < Struct.new( :error_entries) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeploymentRequest AWS API Documentation # class CancelDeploymentRequest < Struct.new( :deployment_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] message # A message that communicates if the cancel was successful. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CancelDeploymentResponse AWS API Documentation # class CancelDeploymentResponse < Struct.new( :message) SENSITIVE = [] include Aws::Structure end # Contains the status of a component version in the IoT Greengrass # service. # # @!attribute [rw] component_state # The state of the component version. # @return [String] # # @!attribute [rw] message # A message that communicates details, such as errors, about the # status of the component version. # @return [String] # # @!attribute [rw] errors # A dictionary of errors that communicate why the component version is # in an error state. For example, if IoT Greengrass can't access an # artifact for the component version, then `errors` contains the # artifact's URI as a key, and the error message as the value for # that key. # @return [Hash] # # @!attribute [rw] vendor_guidance # The vendor guidance state for the component version. This state # indicates whether the component version has any issues that you # should consider before you deploy it. The vendor guidance state can # be: # # * `ACTIVE` – This component version is available and recommended for # use. # # * `DISCONTINUED` – This component version has been discontinued by # its publisher. You can deploy this component version, but we # recommend that you use a different version of this component. # # * `DELETED` – This component version has been deleted by its # publisher, so you can't deploy it. If you have any existing # deployments that specify this component version, those deployments # will fail. # @return [String] # # @!attribute [rw] vendor_guidance_message # A message that communicates details about the vendor guidance state # of the component version. This message communicates why a component # version is discontinued or deleted. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CloudComponentStatus AWS API Documentation # class CloudComponentStatus < Struct.new( :component_state, :message, :errors, :vendor_guidance, :vendor_guidance_message) SENSITIVE = [] include Aws::Structure end # Contains information about a component. # # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] latest_version # The latest version of the component and its details. # @return [Types::ComponentLatestVersion] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/Component AWS API Documentation # class Component < Struct.new( :arn, :component_name, :latest_version) SENSITIVE = [] include Aws::Structure end # Contains information about a component that is a candidate to deploy # to a Greengrass core device. # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] version_requirements # The version requirements for the component's dependencies. # Greengrass core devices get the version requirements from component # recipes. # # IoT Greengrass V2 uses semantic version constraints. For more # information, see [Semantic Versioning][1]. # # # # [1]: https://semver.org/ # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentCandidate AWS API Documentation # class ComponentCandidate < Struct.new( :component_name, :component_version, :version_requirements) SENSITIVE = [] include Aws::Structure end # Contains information about a deployment's update to a component's # configuration on Greengrass core devices. For more information, see # [Update component configurations][1] in the *IoT Greengrass V2 # Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html # # @!attribute [rw] merge # A serialized JSON string that contains the configuration object to # merge to target devices. The core device merges this configuration # with the component's existing configuration. If this is the first # time a component deploys on a device, the core device merges this # configuration with the component's default configuration. This # means that the core device keeps it's existing configuration for # keys and values that you don't specify in this object. For more # information, see [Merge configuration updates][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#merge-configuration-update # @return [String] # # @!attribute [rw] reset # The list of configuration nodes to reset to default values on target # devices. Use JSON pointers to specify each node to reset. JSON # pointers start with a forward slash (`/`) and use forward slashes to # separate the key for each level in the object. For more information, # see the [JSON pointer specification][1] and [Reset configuration # updates][2] in the *IoT Greengrass V2 Developer Guide*. # # # # [1]: https://tools.ietf.org/html/rfc6901 # [2]: https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#reset-configuration-update # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentConfigurationUpdate AWS API Documentation # class ComponentConfigurationUpdate < Struct.new( :merge, :reset) SENSITIVE = [] include Aws::Structure end # Contains information about a component dependency for a Lambda # function component. # # @!attribute [rw] version_requirement # The component version requirement for the component dependency. # # IoT Greengrass V2 uses semantic version constraints. For more # information, see [Semantic Versioning][1]. # # # # [1]: https://semver.org/ # @return [String] # # @!attribute [rw] dependency_type # The type of this dependency. Choose from the following options: # # * `SOFT` – The component doesn't restart if the dependency changes # state. # # * `HARD` – The component restarts if the dependency changes state. # # Default: `HARD` # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentDependencyRequirement AWS API Documentation # class ComponentDependencyRequirement < Struct.new( :version_requirement, :dependency_type) SENSITIVE = [] include Aws::Structure end # Contains information about a component to deploy. # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] configuration_update # The configuration updates to deploy for the component. You can # define *reset* updates and *merge* updates. A reset updates the keys # that you specify to the default configuration for the component. A # merge updates the core device's component configuration with the # keys and values that you specify. The IoT Greengrass Core software # applies reset updates before it applies merge updates. For more # information, see [Update component configurations][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html # @return [Types::ComponentConfigurationUpdate] # # @!attribute [rw] run_with # The system user and group that the IoT Greengrass Core software uses # to run component processes on the core device. If you omit this # parameter, the IoT Greengrass Core software uses the system user and # group that you configure for the core device. For more information, # see [Configure the user and group that run components][1] in the # *IoT Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user # @return [Types::ComponentRunWith] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentDeploymentSpecification AWS API Documentation # class ComponentDeploymentSpecification < Struct.new( :component_version, :configuration_update, :run_with) SENSITIVE = [] include Aws::Structure end # Contains information about the latest version of a component. # # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] creation_timestamp # The time at which the component was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] description # The description of the component version. # @return [String] # # @!attribute [rw] publisher # The publisher of the component version. # @return [String] # # @!attribute [rw] platforms # The platforms that the component version supports. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentLatestVersion AWS API Documentation # class ComponentLatestVersion < Struct.new( :arn, :component_version, :creation_timestamp, :description, :publisher, :platforms) SENSITIVE = [] include Aws::Structure end # Contains information about a platform that a component supports. # # @!attribute [rw] name # The friendly name of the platform. This name helps you identify the # platform. # # If you omit this parameter, IoT Greengrass creates a friendly name # from the `os` and `architecture` of the platform. # @return [String] # # @!attribute [rw] attributes # A dictionary of attributes for the platform. The IoT Greengrass Core # software defines the `os` and `architecture` by default. You can # specify additional platform attributes for a core device when you # deploy the Greengrass nucleus component. For more information, see # the [Greengrass nucleus component][1] in the *IoT Greengrass V2 # Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentPlatform AWS API Documentation # class ComponentPlatform < Struct.new( :name, :attributes) SENSITIVE = [] include Aws::Structure end # Contains information system user and group that the IoT Greengrass # Core software uses to run component processes on the core device. For # more information, see [Configure the user and group that run # components][1] in the *IoT Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user # # @!attribute [rw] posix_user # The POSIX system user and, optionally, group to use to run this # component on Linux core devices. The user, and group if specified, # must exist on each Linux core device. Specify the user and group # separated by a colon (`:`) in the following format: `user:group`. # The group is optional. If you don't specify a group, the IoT # Greengrass Core software uses the primary user for the group. # # If you omit this parameter, the IoT Greengrass Core software uses # the default system user and group that you configure on the # Greengrass nucleus component. For more information, see [Configure # the user and group that run components][1]. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user # @return [String] # # @!attribute [rw] system_resource_limits # The system resource limits to apply to this component's process on # the core device. IoT Greengrass currently supports this feature on # only Linux core devices. # # If you omit this parameter, the IoT Greengrass Core software uses # the default system resource limits that you configure on the # Greengrass nucleus component. For more information, see [Configure # system resource limits for components][1]. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits # @return [Types::SystemResourceLimits] # # @!attribute [rw] windows_user # The Windows user to use to run this component on Windows core # devices. The user must exist on each Windows core device, and its # name and password must be in the LocalSystem account's Credentials # Manager instance. # # If you omit this parameter, the IoT Greengrass Core software uses # the default Windows user that you configure on the Greengrass # nucleus component. For more information, see [Configure the user and # group that run components][1]. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentRunWith AWS API Documentation # class ComponentRunWith < Struct.new( :posix_user, :system_resource_limits, :windows_user) SENSITIVE = [] include Aws::Structure end # Contains information about a component version in a list. # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ComponentVersionListItem AWS API Documentation # class ComponentVersionListItem < Struct.new( :component_name, :component_version, :arn) SENSITIVE = [] include Aws::Structure end # 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. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource_id # The ID of the resource that conflicts with the request. # @return [String] # # @!attribute [rw] resource_type # The type of the resource that conflicts with the request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ConflictException AWS API Documentation # class ConflictException < Struct.new( :message, :resource_id, :resource_type) SENSITIVE = [] include Aws::Structure end # Contains information about an endpoint and port where client devices # can connect to an MQTT broker on a Greengrass core device. # # @!attribute [rw] id # An ID for the connectivity information. # @return [String] # # @!attribute [rw] host_address # The IP address or DNS address where client devices can connect to an # MQTT broker on the Greengrass core device. # @return [String] # # @!attribute [rw] port_number # The port where the MQTT broker operates on the core device. This # port is typically 8883, which is the default port for the MQTT # broker component that runs on core devices. # @return [Integer] # # @!attribute [rw] metadata # Additional metadata to provide to client devices that connect to # this core device. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ConnectivityInfo AWS API Documentation # class ConnectivityInfo < Struct.new( :id, :host_address, :port_number, :metadata) SENSITIVE = [] include Aws::Structure end # Contains information about a Greengrass core device, which is an IoT # thing that runs the IoT Greengrass Core software. # # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] status # The status of the core device. Core devices can have the following # statuses: # # * `HEALTHY` – The IoT Greengrass Core software and all components # run on the core device without issue. # # * `UNHEALTHY` – The IoT Greengrass Core software or a component is # in a failed state on the core device. # @return [String] # # @!attribute [rw] last_status_update_timestamp # The time at which the core device's status last updated, expressed # in ISO 8601 format. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CoreDevice AWS API Documentation # class CoreDevice < Struct.new( :core_device_thing_name, :status, :last_status_update_timestamp) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] inline_recipe # The recipe to use to create the component. The recipe defines the # component's metadata, parameters, dependencies, lifecycle, # artifacts, and platform compatibility. # # You must specify either `inlineRecipe` or `lambdaFunction`. # @return [String] # # @!attribute [rw] lambda_function # The parameters to create a component from a Lambda function. # # You must specify either `inlineRecipe` or `lambdaFunction`. # @return [Types::LambdaFunctionRecipeSource] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @!attribute [rw] client_token # A unique, case-sensitive identifier that you can provide to ensure # that the request is idempotent. Idempotency means that the request # is successfully processed only once, even if you send the request # multiple times. When a request succeeds, and you specify the same # client token for subsequent successful requests, the IoT Greengrass # V2 service returns the successful response that it caches from the # previous request. IoT Greengrass V2 caches successful responses for # idempotent requests for up to 8 hours. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersionRequest AWS API Documentation # class CreateComponentVersionRequest < Struct.new( :inline_recipe, :lambda_function, :tags, :client_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] creation_timestamp # The time at which the component was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] status # The status of the component version in IoT Greengrass V2. This # status is different from the status of the component on a core # device. # @return [Types::CloudComponentStatus] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersionResponse AWS API Documentation # class CreateComponentVersionResponse < Struct.new( :arn, :component_name, :component_version, :creation_timestamp, :status) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] target_arn # The [ARN][1] of the target IoT thing or thing group. When creating a # subdeployment, the targetARN can only be a thing group. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] deployment_name # The name of the deployment. # @return [String] # # @!attribute [rw] components # The components to deploy. This is a dictionary, where each key is # the name of a component, and each key's value is the version and # configuration to deploy for that component. # @return [Hash] # # @!attribute [rw] iot_job_configuration # The job configuration for the deployment configuration. The job # configuration specifies the rollout, timeout, and stop # configurations for the deployment configuration. # @return [Types::DeploymentIoTJobConfiguration] # # @!attribute [rw] deployment_policies # The deployment policies for the deployment. These policies define # how the deployment updates components and handles failure. # @return [Types::DeploymentPolicies] # # @!attribute [rw] parent_target_arn # The parent deployment's target [ARN][1] within a subdeployment. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @!attribute [rw] client_token # A unique, case-sensitive identifier that you can provide to ensure # that the request is idempotent. Idempotency means that the request # is successfully processed only once, even if you send the request # multiple times. When a request succeeds, and you specify the same # client token for subsequent successful requests, the IoT Greengrass # V2 service returns the successful response that it caches from the # previous request. IoT Greengrass V2 caches successful responses for # idempotent requests for up to 8 hours. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeploymentRequest AWS API Documentation # class CreateDeploymentRequest < Struct.new( :target_arn, :deployment_name, :components, :iot_job_configuration, :deployment_policies, :parent_target_arn, :tags, :client_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @!attribute [rw] iot_job_id # The ID of the IoT job that applies the deployment to target devices. # @return [String] # # @!attribute [rw] iot_job_arn # The [ARN][1] of the IoT job that applies the deployment to target # devices. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateDeploymentResponse AWS API Documentation # class CreateDeploymentResponse < Struct.new( :deployment_id, :iot_job_id, :iot_job_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteComponentRequest AWS API Documentation # class DeleteComponentRequest < Struct.new( :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteCoreDeviceRequest AWS API Documentation # class DeleteCoreDeviceRequest < Struct.new( :core_device_thing_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeleteDeploymentRequest AWS API Documentation # class DeleteDeploymentRequest < Struct.new( :deployment_id) SENSITIVE = [] include Aws::Structure end # Contains information about a deployment. # # @!attribute [rw] target_arn # The [ARN][1] of the target IoT thing or thing group. When creating a # subdeployment, the targetARN can only be a thing group. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] revision_id # The revision number of the deployment. # @return [String] # # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @!attribute [rw] deployment_name # The name of the deployment. # @return [String] # # @!attribute [rw] creation_timestamp # The time at which the deployment was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] deployment_status # The status of the deployment. # @return [String] # # @!attribute [rw] is_latest_for_target # Whether or not the deployment is the latest revision for its target. # @return [Boolean] # # @!attribute [rw] parent_target_arn # The parent deployment's target [ARN][1] within a subdeployment. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/Deployment AWS API Documentation # class Deployment < Struct.new( :target_arn, :revision_id, :deployment_id, :deployment_name, :creation_timestamp, :deployment_status, :is_latest_for_target, :parent_target_arn) SENSITIVE = [] include Aws::Structure end # Contains information about a deployment's policy that defines when # components are safe to update. # # Each component on a device can report whether or not it's ready to # update. After a component and its dependencies are ready, they can # apply the update in the deployment. You can configure whether or not # the deployment notifies components of an update and waits for a # response. You specify the amount of time each component has to respond # to the update notification. # # @!attribute [rw] timeout_in_seconds # The amount of time in seconds that each component on a device has to # report that it's safe to update. If the component waits for longer # than this timeout, then the deployment proceeds on the device. # # Default: `60` # @return [Integer] # # @!attribute [rw] action # Whether or not to notify components and wait for components to # become safe to update. Choose from the following options: # # * `NOTIFY_COMPONENTS` – The deployment notifies each component # before it stops and updates that component. Components can use the # [SubscribeToComponentUpdates][1] IPC operation to receive these # notifications. Then, components can respond with the # [DeferComponentUpdate][2] IPC operation. For more information, see # [Create deployments][3] in the *IoT Greengrass V2 Developer # Guide*. # # * `SKIP_NOTIFY_COMPONENTS` – The deployment doesn't notify # components or wait for them to be safe to update. # # Default: `NOTIFY_COMPONENTS` # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates # [2]: https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate # [3]: https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeploymentComponentUpdatePolicy AWS API Documentation # class DeploymentComponentUpdatePolicy < Struct.new( :timeout_in_seconds, :action) SENSITIVE = [] include Aws::Structure end # Contains information about how long a component on a core device can # validate its configuration updates before it times out. Components can # use the [SubscribeToValidateConfigurationUpdates][1] IPC operation to # receive notifications when a deployment specifies a configuration # update. Then, components can respond with the # [SendConfigurationValidityReport][2] IPC operation. For more # information, see [Create deployments][3] in the *IoT Greengrass V2 # Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetovalidateconfigurationupdates # [2]: https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-sendconfigurationvalidityreport # [3]: https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html # # @!attribute [rw] timeout_in_seconds # The amount of time in seconds that a component can validate its # configuration updates. If the validation time exceeds this timeout, # then the deployment proceeds for the device. # # Default: `30` # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeploymentConfigurationValidationPolicy AWS API Documentation # class DeploymentConfigurationValidationPolicy < Struct.new( :timeout_in_seconds) SENSITIVE = [] include Aws::Structure end # Contains information about an IoT job configuration. # # @!attribute [rw] job_executions_rollout_config # The rollout configuration for the job. This configuration defines # the rate at which the job rolls out to the fleet of target devices. # @return [Types::IoTJobExecutionsRolloutConfig] # # @!attribute [rw] abort_config # The stop configuration for the job. This configuration defines when # and how to stop a job rollout. # @return [Types::IoTJobAbortConfig] # # @!attribute [rw] timeout_config # The timeout configuration for the job. This configuration defines # the amount of time each device has to complete the job. # @return [Types::IoTJobTimeoutConfig] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeploymentIoTJobConfiguration AWS API Documentation # class DeploymentIoTJobConfiguration < Struct.new( :job_executions_rollout_config, :abort_config, :timeout_config) SENSITIVE = [] include Aws::Structure end # Contains information about policies that define how a deployment # updates components and handles failure. # # @!attribute [rw] failure_handling_policy # The failure handling policy for the configuration deployment. This # policy defines what to do if the deployment fails. # # Default: `ROLLBACK` # @return [String] # # @!attribute [rw] component_update_policy # The component update policy for the configuration deployment. This # policy defines when it's safe to deploy the configuration to # devices. # @return [Types::DeploymentComponentUpdatePolicy] # # @!attribute [rw] configuration_validation_policy # The configuration validation policy for the configuration # deployment. This policy defines how long each component has to # validate its configure updates. # @return [Types::DeploymentConfigurationValidationPolicy] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DeploymentPolicies AWS API Documentation # class DeploymentPolicies < Struct.new( :failure_handling_policy, :component_update_policy, :configuration_validation_policy) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponentRequest AWS API Documentation # class DescribeComponentRequest < Struct.new( :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] creation_timestamp # The time at which the component was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] publisher # The publisher of the component version. # @return [String] # # @!attribute [rw] description # The description of the component version. # @return [String] # # @!attribute [rw] status # The status of the component version in IoT Greengrass V2. This # status is different from the status of the component on a core # device. # @return [Types::CloudComponentStatus] # # @!attribute [rw] platforms # The platforms that the component version supports. # @return [Array] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DescribeComponentResponse AWS API Documentation # class DescribeComponentResponse < Struct.new( :arn, :component_name, :component_version, :creation_timestamp, :publisher, :description, :status, :platforms, :tags) SENSITIVE = [] include Aws::Structure end # Contains a request to disassociate a client device from a core device. # The [BatchDisassociateClientDeviceWithCoreDevice][1] operation # consumes a list of these requests. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html # # @!attribute [rw] thing_name # The name of the IoT thing that represents the client device to # disassociate. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateClientDeviceFromCoreDeviceEntry AWS API Documentation # class DisassociateClientDeviceFromCoreDeviceEntry < Struct.new( :thing_name) SENSITIVE = [] include Aws::Structure end # Contains an error that occurs from a request to disassociate a client # device from a core device. The # [BatchDisassociateClientDeviceWithCoreDevice][1] operation returns a # list of these errors. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_BatchDisassociateClientDeviceWithCoreDevice.html # # @!attribute [rw] thing_name # The name of the IoT thing whose disassociate request failed. # @return [String] # # @!attribute [rw] code # The error code for the request. # @return [String] # # @!attribute [rw] message # A message that provides additional information about the error. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateClientDeviceFromCoreDeviceErrorEntry AWS API Documentation # class DisassociateClientDeviceFromCoreDeviceErrorEntry < Struct.new( :thing_name, :code, :message) SENSITIVE = [] include Aws::Structure end # @api private # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateServiceRoleFromAccountRequest AWS API Documentation # class DisassociateServiceRoleFromAccountRequest < Aws::EmptyStructure; end # @!attribute [rw] disassociated_at # The time when the service role was disassociated from IoT Greengrass # for your Amazon Web Services account in this Amazon Web Services # Region. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/DisassociateServiceRoleFromAccountResponse AWS API Documentation # class DisassociateServiceRoleFromAccountResponse < Struct.new( :disassociated_at) SENSITIVE = [] include Aws::Structure end # Contains information about a deployment job that IoT Greengrass sends # to a Greengrass core device. # # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @!attribute [rw] deployment_name # The name of the deployment. # @return [String] # # @!attribute [rw] iot_job_id # The ID of the IoT job that applies the deployment to target devices. # @return [String] # # @!attribute [rw] iot_job_arn # The [ARN][1] of the IoT job that applies the deployment to target # devices. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] description # The description of the deployment job. # @return [String] # # @!attribute [rw] target_arn # The [ARN][1] of the target IoT thing or thing group. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] core_device_execution_status # The status of the deployment job on the Greengrass core device. # # * `IN_PROGRESS` – The deployment job is running. # # * `QUEUED` – The deployment job is in the job queue and waiting to # run. # # * `FAILED` – The deployment failed. For more information, see the # `statusDetails` field. # # * `COMPLETED` – The deployment to an IoT thing was completed # successfully. # # * `TIMED_OUT` – The deployment didn't complete in the allotted # time. # # * `CANCELED` – The deployment was canceled by the user. # # * `REJECTED` – The deployment was rejected. For more information, # see the `statusDetails` field. # # * `SUCCEEDED` – The deployment to an IoT thing group was completed # successfully. # @return [String] # # @!attribute [rw] reason # The reason code for the update, if the job was updated. # @return [String] # # @!attribute [rw] creation_timestamp # The time at which the deployment was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] modified_timestamp # The time at which the deployment job was last modified, expressed in # ISO 8601 format. # @return [Time] # # @!attribute [rw] status_details # The status details that explain why a deployment has an error. This # response will be null if the deployment is in a success state. # @return [Types::EffectiveDeploymentStatusDetails] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/EffectiveDeployment AWS API Documentation # class EffectiveDeployment < Struct.new( :deployment_id, :deployment_name, :iot_job_id, :iot_job_arn, :description, :target_arn, :core_device_execution_status, :reason, :creation_timestamp, :modified_timestamp, :status_details) SENSITIVE = [] include Aws::Structure end # Contains all error-related information for the deployment record. The # status details will be null if the deployment is in a success state. # # Greengrass nucleus v2.8.0 or later is required to get an accurate # `errorStack` and `errorTypes` response. This field will not be # returned for earlier Greengrass nucleus versions. # # # # @!attribute [rw] error_stack # Contains an ordered list of short error codes that range from the # most generic error to the most specific one. The error codes # describe the reason for failure whenever the # `coreDeviceExecutionStatus` is in a failed state. The response will # be an empty list if there is no error. # @return [Array] # # @!attribute [rw] error_types # Contains tags which describe the error. You can use the error types # to classify errors to assist with remediating the failure. The # response will be an empty list if there is no error. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/EffectiveDeploymentStatusDetails AWS API Documentation # class EffectiveDeploymentStatusDetails < Struct.new( :error_stack, :error_types) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] recipe_output_format # The format of the recipe. # @return [String] # # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentRequest AWS API Documentation # class GetComponentRequest < Struct.new( :recipe_output_format, :arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] recipe_output_format # The format of the recipe. # @return [String] # # @!attribute [rw] recipe # The recipe of the component version. # @return [String] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentResponse AWS API Documentation # class GetComponentResponse < Struct.new( :recipe_output_format, :recipe, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component version. Specify the ARN of a public # or a Lambda component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] artifact_name # The name of the artifact. # # You can use the [GetComponent][1] operation to download the # component recipe, which includes the URI of the artifact. The # artifact name is the section of the URI after the scheme. For # example, in the artifact URI `greengrass:SomeArtifact.zip`, the # artifact name is `SomeArtifact.zip`. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/APIReference/API_GetComponent.html # @return [String] # # @!attribute [rw] s3_endpoint_type # Specifies the endpoint to use when getting Amazon S3 pre-signed # URLs. # # All Amazon Web Services Regions except US East (N. Virginia) use # `REGIONAL` in all cases. In the US East (N. Virginia) Region the # default is `GLOBAL`, but you can change it to `REGIONAL` with this # parameter. # @return [String] # # @!attribute [rw] iot_endpoint_type # Determines if the Amazon S3 URL returned is a FIPS pre-signed URL # endpoint. Specify `fips` if you want the returned Amazon S3 # pre-signed URL to point to an Amazon S3 FIPS endpoint. If you don't # specify a value, the default is `standard`. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifactRequest AWS API Documentation # class GetComponentVersionArtifactRequest < Struct.new( :arn, :artifact_name, :s3_endpoint_type, :iot_endpoint_type) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] pre_signed_url # The URL of the artifact. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetComponentVersionArtifactResponse AWS API Documentation # class GetComponentVersionArtifactResponse < Struct.new( :pre_signed_url) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetConnectivityInfoRequest AWS API Documentation # class GetConnectivityInfoRequest < Struct.new( :thing_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] connectivity_info # The connectivity information for the core device. # @return [Array] # # @!attribute [rw] message # A message about the connectivity information request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetConnectivityInfoResponse AWS API Documentation # class GetConnectivityInfoResponse < Struct.new( :connectivity_info, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDeviceRequest AWS API Documentation # class GetCoreDeviceRequest < Struct.new( :core_device_thing_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] core_version # The version of the IoT Greengrass Core software that the core device # runs. This version is equivalent to the version of the Greengrass # nucleus component that runs on the core device. For more # information, see the [Greengrass nucleus component][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html # @return [String] # # @!attribute [rw] platform # The operating system platform that the core device runs. # @return [String] # # @!attribute [rw] architecture # The computer architecture of the core device. # @return [String] # # @!attribute [rw] status # The status of the core device. The core device status can be: # # * `HEALTHY` – The IoT Greengrass Core software and all components # run on the core device without issue. # # * `UNHEALTHY` – The IoT Greengrass Core software or a component is # in a failed state on the core device. # @return [String] # # @!attribute [rw] last_status_update_timestamp # The time at which the core device's status last updated, expressed # in ISO 8601 format. # @return [Time] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetCoreDeviceResponse AWS API Documentation # class GetCoreDeviceResponse < Struct.new( :core_device_thing_name, :core_version, :platform, :architecture, :status, :last_status_update_timestamp, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeploymentRequest AWS API Documentation # class GetDeploymentRequest < Struct.new( :deployment_id) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] target_arn # The [ARN][1] of the target IoT thing or thing group. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] revision_id # The revision number of the deployment. # @return [String] # # @!attribute [rw] deployment_id # The ID of the deployment. # @return [String] # # @!attribute [rw] deployment_name # The name of the deployment. # @return [String] # # @!attribute [rw] deployment_status # The status of the deployment. # @return [String] # # @!attribute [rw] iot_job_id # The ID of the IoT job that applies the deployment to target devices. # @return [String] # # @!attribute [rw] iot_job_arn # The [ARN][1] of the IoT job that applies the deployment to target # devices. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] components # The components to deploy. This is a dictionary, where each key is # the name of a component, and each key's value is the version and # configuration to deploy for that component. # @return [Hash] # # @!attribute [rw] deployment_policies # The deployment policies for the deployment. These policies define # how the deployment updates components and handles failure. # @return [Types::DeploymentPolicies] # # @!attribute [rw] iot_job_configuration # The job configuration for the deployment configuration. The job # configuration specifies the rollout, timeout, and stop # configurations for the deployment configuration. # @return [Types::DeploymentIoTJobConfiguration] # # @!attribute [rw] creation_timestamp # The time at which the deployment was created, expressed in ISO 8601 # format. # @return [Time] # # @!attribute [rw] is_latest_for_target # Whether or not the deployment is the latest revision for its target. # @return [Boolean] # # @!attribute [rw] parent_target_arn # The parent deployment's target [ARN][1] within a subdeployment. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetDeploymentResponse AWS API Documentation # class GetDeploymentResponse < Struct.new( :target_arn, :revision_id, :deployment_id, :deployment_name, :deployment_status, :iot_job_id, :iot_job_arn, :components, :deployment_policies, :iot_job_configuration, :creation_timestamp, :is_latest_for_target, :parent_target_arn, :tags) SENSITIVE = [] include Aws::Structure end # @api private # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetServiceRoleForAccountRequest AWS API Documentation # class GetServiceRoleForAccountRequest < Aws::EmptyStructure; end # @!attribute [rw] associated_at # The time when the service role was associated with IoT Greengrass # for your Amazon Web Services account in this Amazon Web Services # Region. # @return [String] # # @!attribute [rw] role_arn # The ARN of the service role that is associated with IoT Greengrass # for your Amazon Web Services account in this Amazon Web Services # Region. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/GetServiceRoleForAccountResponse AWS API Documentation # class GetServiceRoleForAccountResponse < Struct.new( :associated_at, :role_arn) SENSITIVE = [] include Aws::Structure end # Contains information about a component on a Greengrass core device. # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] lifecycle_state # The lifecycle state of the component. # @return [String] # # @!attribute [rw] lifecycle_state_details # A detailed response about the lifecycle state of the component that # explains the reason why a component has an error or is broken. # @return [String] # # @!attribute [rw] is_root # Whether or not the component is a root component. # @return [Boolean] # # @!attribute [rw] last_status_change_timestamp # The status of how current the data is. # # This response is based off of component state changes. The status # reflects component disruptions and deployments. If a component only # sees a configuration update during a deployment, it might not # undergo a state change and this status would not be updated. # @return [Time] # # @!attribute [rw] last_reported_timestamp # The last time the Greengrass core device sent a message containing a # component's state to the Amazon Web Services Cloud. # # A component does not need to see a state change for this field to # update. # @return [Time] # # @!attribute [rw] last_installation_source # The most recent deployment source that brought the component to the # Greengrass core device. For a thing group deployment or thing # deployment, the source will be the ID of the last deployment that # contained the component. For local deployments it will be `LOCAL`. # # Any deployment will attempt to reinstall currently broken components # on the device, which will update the last installation source. # # # @return [String] # # @!attribute [rw] lifecycle_status_codes # The status codes that indicate the reason for failure whenever the # `lifecycleState` has an error or is in a broken state. # # Greengrass nucleus v2.8.0 or later is required to get an accurate # `lifecycleStatusCodes` response. This response can be inaccurate in # earlier Greengrass nucleus versions. # # # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/InstalledComponent AWS API Documentation # class InstalledComponent < Struct.new( :component_name, :component_version, :lifecycle_state, :lifecycle_state_details, :is_root, :last_status_change_timestamp, :last_reported_timestamp, :last_installation_source, :lifecycle_status_codes) SENSITIVE = [] include Aws::Structure end # IoT Greengrass can't process your request right now. Try again later. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] retry_after_seconds # The amount of time to wait before you retry the request. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/InternalServerException AWS API Documentation # class InternalServerException < Struct.new( :message, :retry_after_seconds) SENSITIVE = [] include Aws::Structure end # Contains a list of criteria that define when and how to cancel a # configuration deployment. # # @!attribute [rw] criteria_list # The list of criteria that define when and how to cancel the # configuration deployment. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobAbortConfig AWS API Documentation # class IoTJobAbortConfig < Struct.new( :criteria_list) SENSITIVE = [] include Aws::Structure end # Contains criteria that define when and how to cancel a job. # # The deployment stops if the following conditions are true: # # 1. The number of things that receive the deployment exceeds the # `minNumberOfExecutedThings`. # # 2. The percentage of failures with type `failureType` exceeds the # `thresholdPercentage`. # # @!attribute [rw] failure_type # The type of job deployment failure that can cancel a job. # @return [String] # # @!attribute [rw] action # The action to perform when the criteria are met. # @return [String] # # @!attribute [rw] threshold_percentage # The minimum percentage of `failureType` failures that occur before # the job can cancel. # # This parameter supports up to two digits after the decimal (for # example, you can specify `10.9` or `10.99`, but not `10.999`). # @return [Float] # # @!attribute [rw] min_number_of_executed_things # The minimum number of things that receive the configuration before # the job can cancel. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobAbortCriteria AWS API Documentation # class IoTJobAbortCriteria < Struct.new( :failure_type, :action, :threshold_percentage, :min_number_of_executed_things) SENSITIVE = [] include Aws::Structure end # Contains information about the rollout configuration for a job. This # configuration defines the rate at which the job deploys a # configuration to a fleet of target devices. # # @!attribute [rw] exponential_rate # The exponential rate to increase the job rollout rate. # @return [Types::IoTJobExponentialRolloutRate] # # @!attribute [rw] maximum_per_minute # The maximum number of devices that receive a pending job # notification, per minute. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobExecutionsRolloutConfig AWS API Documentation # class IoTJobExecutionsRolloutConfig < Struct.new( :exponential_rate, :maximum_per_minute) SENSITIVE = [] include Aws::Structure end # Contains information about an exponential rollout rate for a # configuration deployment job. # # @!attribute [rw] base_rate_per_minute # The minimum number of devices that receive a pending job # notification, per minute, when the job starts. This parameter # defines the initial rollout rate of the job. # @return [Integer] # # @!attribute [rw] increment_factor # The exponential factor to increase the rollout rate for the job. # # This parameter supports up to one digit after the decimal (for # example, you can specify `1.5`, but not `1.55`). # @return [Float] # # @!attribute [rw] rate_increase_criteria # The criteria to increase the rollout rate for the job. # @return [Types::IoTJobRateIncreaseCriteria] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobExponentialRolloutRate AWS API Documentation # class IoTJobExponentialRolloutRate < Struct.new( :base_rate_per_minute, :increment_factor, :rate_increase_criteria) SENSITIVE = [] include Aws::Structure end # Contains information about criteria to meet before a job increases its # rollout rate. Specify either `numberOfNotifiedThings` or # `numberOfSucceededThings`. # # @!attribute [rw] number_of_notified_things # The number of devices to receive the job notification before the # rollout rate increases. # @return [Integer] # # @!attribute [rw] number_of_succeeded_things # The number of devices to successfully run the configuration job # before the rollout rate increases. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobRateIncreaseCriteria AWS API Documentation # class IoTJobRateIncreaseCriteria < Struct.new( :number_of_notified_things, :number_of_succeeded_things) SENSITIVE = [] include Aws::Structure end # Contains information about the timeout configuration for a job. # # @!attribute [rw] in_progress_timeout_in_minutes # The amount of time, in minutes, that devices have to complete the # job. The timer starts when the job status is set to `IN_PROGRESS`. # If the job status doesn't change to a terminal state before the # time expires, then the job status is set to `TIMED_OUT`. # # The timeout interval must be between 1 minute and 7 days (10080 # minutes). # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/IoTJobTimeoutConfig AWS API Documentation # class IoTJobTimeoutConfig < Struct.new( :in_progress_timeout_in_minutes) SENSITIVE = [] include Aws::Structure end # Contains information about a container in which Lambda functions run # on Greengrass core devices. # # @!attribute [rw] memory_size_in_kb # The memory size of the container, expressed in kilobytes. # # Default: `16384` (16 MB) # @return [Integer] # # @!attribute [rw] mount_ro_sysfs # Whether or not the container can read information from the device's # `/sys` folder. # # Default: `false` # @return [Boolean] # # @!attribute [rw] volumes # The list of volumes that the container can access. # @return [Array] # # @!attribute [rw] devices # The list of system devices that the container can access. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaContainerParams AWS API Documentation # class LambdaContainerParams < Struct.new( :memory_size_in_kb, :mount_ro_sysfs, :volumes, :devices) SENSITIVE = [] include Aws::Structure end # Contains information about a device that Linux processes in a # container can access. # # @!attribute [rw] path # The mount path for the device in the file system. # @return [String] # # @!attribute [rw] permission # The permission to access the device: read/only (`ro`) or read/write # (`rw`). # # Default: `ro` # @return [String] # # @!attribute [rw] add_group_owner # Whether or not to add the component's system user as an owner of # the device. # # Default: `false` # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaDeviceMount AWS API Documentation # class LambdaDeviceMount < Struct.new( :path, :permission, :add_group_owner) SENSITIVE = [] include Aws::Structure end # Contains information about an event source for an Lambda function. The # event source defines the topics on which this Lambda function # subscribes to receive messages that run the function. # # @!attribute [rw] topic # The topic to which to subscribe to receive event messages. # @return [String] # # @!attribute [rw] type # The type of event source. Choose from the following options: # # * `PUB_SUB` – Subscribe to local publish/subscribe messages. This # event source type doesn't support MQTT wildcards (`+` and `#`) in # the event source topic. # # * `IOT_CORE` – Subscribe to Amazon Web Services IoT Core MQTT # messages. This event source type supports MQTT wildcards (`+` and # `#`) in the event source topic. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaEventSource AWS API Documentation # class LambdaEventSource < Struct.new( :topic, :type) SENSITIVE = [] include Aws::Structure end # Contains parameters for a Lambda function that runs on IoT Greengrass. # # @!attribute [rw] event_sources # The list of event sources to which to subscribe to receive work # messages. The Lambda function runs when it receives a message from # an event source. You can subscribe this function to local # publish/subscribe messages and Amazon Web Services IoT Core MQTT # messages. # @return [Array] # # @!attribute [rw] max_queue_size # The maximum size of the message queue for the Lambda function # component. The IoT Greengrass core stores messages in a FIFO # (first-in-first-out) queue until it can run the Lambda function to # consume each message. # @return [Integer] # # @!attribute [rw] max_instances_count # The maximum number of instances that a non-pinned Lambda function # can run at the same time. # @return [Integer] # # @!attribute [rw] max_idle_time_in_seconds # The maximum amount of time in seconds that a non-pinned Lambda # function can idle before the IoT Greengrass Core software stops its # process. # @return [Integer] # # @!attribute [rw] timeout_in_seconds # The maximum amount of time in seconds that the Lambda function can # process a work item. # @return [Integer] # # @!attribute [rw] status_timeout_in_seconds # The interval in seconds at which a pinned (also known as long-lived) # Lambda function component sends status updates to the Lambda manager # component. # @return [Integer] # # @!attribute [rw] pinned # Whether or not the Lambda function is pinned, or long-lived. # # * A pinned Lambda function starts when IoT Greengrass starts and # keeps running in its own container. # # * A non-pinned Lambda function starts only when it receives a work # item and exists after it idles for `maxIdleTimeInSeconds`. If the # function has multiple work items, the IoT Greengrass Core software # creates multiple instances of the function. # # Default: `true` # @return [Boolean] # # @!attribute [rw] input_payload_encoding_type # The encoding type that the Lambda function supports. # # Default: `json` # @return [String] # # @!attribute [rw] exec_args # The list of arguments to pass to the Lambda function when it runs. # @return [Array] # # @!attribute [rw] environment_variables # The map of environment variables that are available to the Lambda # function when it runs. # @return [Hash] # # @!attribute [rw] linux_process_params # The parameters for the Linux process that contains the Lambda # function. # @return [Types::LambdaLinuxProcessParams] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaExecutionParameters AWS API Documentation # class LambdaExecutionParameters < Struct.new( :event_sources, :max_queue_size, :max_instances_count, :max_idle_time_in_seconds, :timeout_in_seconds, :status_timeout_in_seconds, :pinned, :input_payload_encoding_type, :exec_args, :environment_variables, :linux_process_params) SENSITIVE = [] include Aws::Structure end # Contains information about an Lambda function to import to create a # component. # # @!attribute [rw] lambda_arn # The [ARN][1] of the Lambda function. The ARN must include the # version of the function to import. You can't use version aliases # like `$LATEST`. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_name # The name of the component. # # Defaults to the name of the Lambda function. # @return [String] # # @!attribute [rw] component_version # The version of the component. # # Defaults to the version of the Lambda function as a semantic # version. For example, if your function version is `3`, the component # version becomes `3.0.0`. # @return [String] # # @!attribute [rw] component_platforms # The platforms that the component version supports. # @return [Array] # # @!attribute [rw] component_dependencies # The component versions on which this Lambda function component # depends. # @return [Hash] # # @!attribute [rw] component_lambda_parameters # The system and runtime parameters for the Lambda function as it runs # on the Greengrass core device. # @return [Types::LambdaExecutionParameters] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaFunctionRecipeSource AWS API Documentation # class LambdaFunctionRecipeSource < Struct.new( :lambda_arn, :component_name, :component_version, :component_platforms, :component_dependencies, :component_lambda_parameters) SENSITIVE = [] include Aws::Structure end # Contains parameters for a Linux process that contains an Lambda # function. # # @!attribute [rw] isolation_mode # The isolation mode for the process that contains the Lambda # function. The process can run in an isolated runtime environment # inside the IoT Greengrass container, or as a regular process outside # any container. # # Default: `GreengrassContainer` # @return [String] # # @!attribute [rw] container_params # The parameters for the container in which the Lambda function runs. # @return [Types::LambdaContainerParams] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaLinuxProcessParams AWS API Documentation # class LambdaLinuxProcessParams < Struct.new( :isolation_mode, :container_params) SENSITIVE = [] include Aws::Structure end # Contains information about a volume that Linux processes in a # container can access. When you define a volume, the IoT Greengrass # Core software mounts the source files to the destination inside the # container. # # @!attribute [rw] source_path # The path to the physical volume in the file system. # @return [String] # # @!attribute [rw] destination_path # The path to the logical volume in the file system. # @return [String] # # @!attribute [rw] permission # The permission to access the volume: read/only (`ro`) or read/write # (`rw`). # # Default: `ro` # @return [String] # # @!attribute [rw] add_group_owner # Whether or not to add the IoT Greengrass user group as an owner of # the volume. # # Default: `false` # @return [Boolean] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/LambdaVolumeMount AWS API Documentation # class LambdaVolumeMount < Struct.new( :source_path, :destination_path, :permission, :add_group_owner) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDeviceRequest AWS API Documentation # class ListClientDevicesAssociatedWithCoreDeviceRequest < Struct.new( :core_device_thing_name, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] associated_client_devices # A list that describes the client devices that are associated with # the core device. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListClientDevicesAssociatedWithCoreDeviceResponse AWS API Documentation # class ListClientDevicesAssociatedWithCoreDeviceResponse < Struct.new( :associated_client_devices, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] arn # The [ARN][1] of the component. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersionsRequest AWS API Documentation # class ListComponentVersionsRequest < Struct.new( :arn, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] component_versions # A list of versions that exist for the component. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentVersionsResponse AWS API Documentation # class ListComponentVersionsResponse < Struct.new( :component_versions, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] scope # The scope of the components to list. # # Default: `PRIVATE` # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentsRequest AWS API Documentation # class ListComponentsRequest < Struct.new( :scope, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] components # A list that summarizes each component. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListComponentsResponse AWS API Documentation # class ListComponentsResponse < Struct.new( :components, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] thing_group_arn # The [ARN][1] of the IoT thing group by which to filter. If you # specify this parameter, the list includes only core devices that # have successfully deployed a deployment that targets the thing # group. When you remove a core device from a thing group, the list # continues to include that core device. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] status # The core device status by which to filter. If you specify this # parameter, the list includes only core devices that have this # status. Choose one of the following options: # # * `HEALTHY` – The IoT Greengrass Core software and all components # run on the core device without issue. # # * `UNHEALTHY` – The IoT Greengrass Core software or a component is # in a failed state on the core device. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevicesRequest AWS API Documentation # class ListCoreDevicesRequest < Struct.new( :thing_group_arn, :status, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_devices # A list that summarizes each core device. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListCoreDevicesResponse AWS API Documentation # class ListCoreDevicesResponse < Struct.new( :core_devices, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] target_arn # The [ARN][1] of the target IoT thing or thing group. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] history_filter # The filter for the list of deployments. Choose one of the following # options: # # * `ALL` – The list includes all deployments. # # * `LATEST_ONLY` – The list includes only the latest revision of each # deployment. # # Default: `LATEST_ONLY` # @return [String] # # @!attribute [rw] parent_target_arn # The parent deployment's target [ARN][1] within a subdeployment. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # # Default: `50` # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeploymentsRequest AWS API Documentation # class ListDeploymentsRequest < Struct.new( :target_arn, :history_filter, :parent_target_arn, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] deployments # A list that summarizes each deployment. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListDeploymentsResponse AWS API Documentation # class ListDeploymentsResponse < Struct.new( :deployments, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeploymentsRequest AWS API Documentation # class ListEffectiveDeploymentsRequest < Struct.new( :core_device_thing_name, :max_results, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] effective_deployments # A list that summarizes each deployment on the core device. # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListEffectiveDeploymentsResponse AWS API Documentation # class ListEffectiveDeploymentsResponse < Struct.new( :effective_deployments, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] core_device_thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to be returned per paginated request. # @return [Integer] # # @!attribute [rw] next_token # The token to be used for the next set of paginated results. # @return [String] # # @!attribute [rw] topology_filter # The filter for the list of components. Choose from the following # options: # # * `ALL` – The list includes all components installed on the core # device. # # * `ROOT` – The list includes only *root* components, which are # components that you specify in a deployment. When you choose this # option, the list doesn't include components that the core device # installs as dependencies of other components. # # Default: `ROOT` # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponentsRequest AWS API Documentation # class ListInstalledComponentsRequest < Struct.new( :core_device_thing_name, :max_results, :next_token, :topology_filter) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] installed_components # A list that summarizes each component on the core device. # # Greengrass nucleus v2.7.0 or later is required to get an accurate # `lastStatusChangeTimestamp` response. This response can be # inaccurate in earlier Greengrass nucleus versions. # # # # Greengrass nucleus v2.8.0 or later is required to get an accurate # `lastInstallationSource` and `lastReportedTimestamp` response. This # response can be inaccurate or null in earlier Greengrass nucleus # versions. # # # @return [Array] # # @!attribute [rw] next_token # The token for the next set of results, or null if there are no # additional results. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListInstalledComponentsResponse AWS API Documentation # class ListInstalledComponentsResponse < Struct.new( :installed_components, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The [ARN][1] of the resource. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResourceRequest AWS API Documentation # class ListTagsForResourceRequest < Struct.new( :resource_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ListTagsForResourceResponse AWS API Documentation # class ListTagsForResourceResponse < Struct.new( :tags) SENSITIVE = [] include Aws::Structure end # 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. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/RequestAlreadyInProgressException AWS API Documentation # class RequestAlreadyInProgressException < Struct.new( :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] platform # The platform to use to resolve compatible components. # @return [Types::ComponentPlatform] # # @!attribute [rw] component_candidates # The list of components to resolve. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidatesRequest AWS API Documentation # class ResolveComponentCandidatesRequest < Struct.new( :platform, :component_candidates) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resolved_component_versions # A list of components that meet the requirements that you specify in # the request. This list includes each component's recipe that you # can use to install the component. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolveComponentCandidatesResponse AWS API Documentation # class ResolveComponentCandidatesResponse < Struct.new( :resolved_component_versions) SENSITIVE = [] include Aws::Structure end # Contains information about a component version that is compatible to # run on a Greengrass core device. # # @!attribute [rw] arn # The [ARN][1] of the component version. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] component_name # The name of the component. # @return [String] # # @!attribute [rw] component_version # The version of the component. # @return [String] # # @!attribute [rw] recipe # The recipe of the component version. # @return [String] # # @!attribute [rw] vendor_guidance # The vendor guidance state for the component version. This state # indicates whether the component version has any issues that you # should consider before you deploy it. The vendor guidance state can # be: # # * `ACTIVE` – This component version is available and recommended for # use. # # * `DISCONTINUED` – This component version has been discontinued by # its publisher. You can deploy this component version, but we # recommend that you use a different version of this component. # # * `DELETED` – This component version has been deleted by its # publisher, so you can't deploy it. If you have any existing # deployments that specify this component version, those deployments # will fail. # @return [String] # # @!attribute [rw] message # A message that communicates details about the vendor guidance state # of the component version. This message communicates why a component # version is discontinued or deleted. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResolvedComponentVersion AWS API Documentation # class ResolvedComponentVersion < Struct.new( :arn, :component_name, :component_version, :recipe, :vendor_guidance, :message) SENSITIVE = [] include Aws::Structure end # The requested resource can't be found. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource_id # The ID of the resource that isn't found. # @return [String] # # @!attribute [rw] resource_type # The type of the resource that isn't found. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ResourceNotFoundException AWS API Documentation # class ResourceNotFoundException < Struct.new( :message, :resource_id, :resource_type) SENSITIVE = [] include Aws::Structure end # Your request exceeds a service quota. For example, you might have the # maximum number of components that you can create. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] resource_id # The ID of the resource that exceeds the service quota. # @return [String] # # @!attribute [rw] resource_type # The type of the resource that exceeds the service quota. # @return [String] # # @!attribute [rw] quota_code # The code for the quota in [Service Quotas][1]. # # # # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html # @return [String] # # @!attribute [rw] service_code # The code for the service in [Service Quotas][1]. # # # # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ServiceQuotaExceededException AWS API Documentation # class ServiceQuotaExceededException < Struct.new( :message, :resource_id, :resource_type, :quota_code, :service_code) SENSITIVE = [] include Aws::Structure end # Contains information about system resource limits that the IoT # Greengrass Core software applies to a component's processes. For more # information, see [Configure system resource limits for components][1]. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-system-resource-limits # # @!attribute [rw] memory # The maximum amount of RAM, expressed in kilobytes, that a # component's processes can use on the core device. # @return [Integer] # # @!attribute [rw] cpus # The maximum amount of CPU time that a component's processes can use # on the core device. A core device's total CPU time is equivalent to # the device's number of CPU cores. For example, on a core device # with 4 CPU cores, you can set this value to `2` to limit the # component's processes to 50 percent usage of each CPU core. On a # device with 1 CPU core, you can set this value to `0.25` to limit # the component's processes to 25 percent usage of the CPU. If you # set this value to a number greater than the number of CPU cores, the # IoT Greengrass Core software doesn't limit the component's CPU # usage. # @return [Float] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/SystemResourceLimits AWS API Documentation # class SystemResourceLimits < Struct.new( :memory, :cpus) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The [ARN][1] of the resource to tag. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] tags # A list of key-value pairs that contain metadata for the resource. # For more information, see [Tag your resources][1] in the *IoT # Greengrass V2 Developer Guide*. # # # # [1]: https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html # @return [Hash] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResourceRequest AWS API Documentation # class TagResourceRequest < Struct.new( :resource_arn, :tags) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/TagResourceResponse AWS API Documentation # class TagResourceResponse < Aws::EmptyStructure; end # 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. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] quota_code # The code for the quota in [Service Quotas][1]. # # # # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html # @return [String] # # @!attribute [rw] service_code # The code for the service in [Service Quotas][1]. # # # # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html # @return [String] # # @!attribute [rw] retry_after_seconds # The amount of time to wait before you retry the request. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ThrottlingException AWS API Documentation # class ThrottlingException < Struct.new( :message, :quota_code, :service_code, :retry_after_seconds) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The [ARN][1] of the resource to untag. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html # @return [String] # # @!attribute [rw] tag_keys # A list of keys for tags to remove from the resource. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResourceRequest AWS API Documentation # class UntagResourceRequest < Struct.new( :resource_arn, :tag_keys) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UntagResourceResponse AWS API Documentation # class UntagResourceResponse < Aws::EmptyStructure; end # @!attribute [rw] thing_name # The name of the core device. This is also the name of the IoT thing. # @return [String] # # @!attribute [rw] connectivity_info # The connectivity information for the core device. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UpdateConnectivityInfoRequest AWS API Documentation # class UpdateConnectivityInfoRequest < Struct.new( :thing_name, :connectivity_info) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] version # The new version of the connectivity information for the core device. # @return [String] # # @!attribute [rw] message # A message about the connectivity information update request. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/UpdateConnectivityInfoResponse AWS API Documentation # class UpdateConnectivityInfoResponse < Struct.new( :version, :message) SENSITIVE = [] include Aws::Structure end # The request isn't valid. This can occur if your request contains # malformed JSON or unsupported characters. # # @!attribute [rw] message # @return [String] # # @!attribute [rw] reason # The reason for the validation exception. # @return [String] # # @!attribute [rw] fields # The list of fields that failed to validate. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ValidationException AWS API Documentation # class ValidationException < Struct.new( :message, :reason, :fields) SENSITIVE = [] include Aws::Structure end # Contains information about a validation exception field. # # @!attribute [rw] name # The name of the exception field. # @return [String] # # @!attribute [rw] message # The message of the exception field. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/ValidationExceptionField AWS API Documentation # class ValidationExceptionField < Struct.new( :name, :message) SENSITIVE = [] include Aws::Structure end end end