# 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::IoT1ClickProjects module Types # @!attribute [rw] project_name # The name of the project containing the placement in which to # associate the device. # @return [String] # # @!attribute [rw] placement_name # The name of the placement in which to associate the device. # @return [String] # # @!attribute [rw] device_id # The ID of the physical device to be associated with the given # placement in the project. Note that a mandatory 4 character prefix # is required for all `deviceId` values. # @return [String] # # @!attribute [rw] device_template_name # The device template name to associate with the device ID. # @return [String] # class AssociateDeviceWithPlacementRequest < Struct.new( :project_name, :placement_name, :device_id, :device_template_name) SENSITIVE = [] include Aws::Structure end class AssociateDeviceWithPlacementResponse < Aws::EmptyStructure; end # @!attribute [rw] placement_name # The name of the placement to be created. # @return [String] # # @!attribute [rw] project_name # The name of the project in which to create the placement. # @return [String] # # @!attribute [rw] attributes # Optional user-defined key/value pairs providing contextual data # (such as location or function) for the placement. # @return [Hash] # class CreatePlacementRequest < Struct.new( :placement_name, :project_name, :attributes) SENSITIVE = [] include Aws::Structure end class CreatePlacementResponse < Aws::EmptyStructure; end # @!attribute [rw] project_name # The name of the project to create. # @return [String] # # @!attribute [rw] description # An optional description for the project. # @return [String] # # @!attribute [rw] placement_template # The schema defining the placement to be created. A placement # template defines placement default attributes and device templates. # You cannot add or remove device templates after the project has been # created. However, you can update `callbackOverrides` for the device # templates using the `UpdateProject` API. # @return [Types::PlacementTemplate] # # @!attribute [rw] tags # Optional tags (metadata key/value pairs) to be associated with the # project. For example, `\{ \{"key1": "value1", "key2": "value2"\} # \}`. For more information, see [AWS Tagging Strategies][1]. # # # # [1]: https://aws.amazon.com/answers/account-management/aws-tagging-strategies/ # @return [Hash] # class CreateProjectRequest < Struct.new( :project_name, :description, :placement_template, :tags) SENSITIVE = [] include Aws::Structure end class CreateProjectResponse < Aws::EmptyStructure; end # @!attribute [rw] placement_name # The name of the empty placement to delete. # @return [String] # # @!attribute [rw] project_name # The project containing the empty placement to delete. # @return [String] # class DeletePlacementRequest < Struct.new( :placement_name, :project_name) SENSITIVE = [] include Aws::Structure end class DeletePlacementResponse < Aws::EmptyStructure; end # @!attribute [rw] project_name # The name of the empty project to delete. # @return [String] # class DeleteProjectRequest < Struct.new( :project_name) SENSITIVE = [] include Aws::Structure end class DeleteProjectResponse < Aws::EmptyStructure; end # @!attribute [rw] placement_name # The name of the placement within a project. # @return [String] # # @!attribute [rw] project_name # The project containing the placement to be described. # @return [String] # class DescribePlacementRequest < Struct.new( :placement_name, :project_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] placement # An object describing the placement. # @return [Types::PlacementDescription] # class DescribePlacementResponse < Struct.new( :placement) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] project_name # The name of the project to be described. # @return [String] # class DescribeProjectRequest < Struct.new( :project_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] project # An object describing the project. # @return [Types::ProjectDescription] # class DescribeProjectResponse < Struct.new( :project) SENSITIVE = [] include Aws::Structure end # An object representing a device for a placement template (see # PlacementTemplate). # # @!attribute [rw] device_type # The device type, which currently must be `"button"`. # @return [String] # # @!attribute [rw] callback_overrides # An optional Lambda function to invoke instead of the default Lambda # function provided by the placement template. # @return [Hash] # class DeviceTemplate < Struct.new( :device_type, :callback_overrides) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] project_name # The name of the project that contains the placement. # @return [String] # # @!attribute [rw] placement_name # The name of the placement that the device should be removed from. # @return [String] # # @!attribute [rw] device_template_name # The device ID that should be removed from the placement. # @return [String] # class DisassociateDeviceFromPlacementRequest < Struct.new( :project_name, :placement_name, :device_template_name) SENSITIVE = [] include Aws::Structure end class DisassociateDeviceFromPlacementResponse < Aws::EmptyStructure; end # @!attribute [rw] project_name # The name of the project containing the placement. # @return [String] # # @!attribute [rw] placement_name # The name of the placement to get the devices from. # @return [String] # class GetDevicesInPlacementRequest < Struct.new( :project_name, :placement_name) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] devices # An object containing the devices (zero or more) within the # placement. # @return [Hash] # class GetDevicesInPlacementResponse < Struct.new( :devices) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # class InternalFailureException < Struct.new( :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # class InvalidRequestException < Struct.new( :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] project_name # The project containing the placements to be listed. # @return [String] # # @!attribute [rw] next_token # The token to retrieve the next set of results. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to return per request. If not set, a # default value of 100 is used. # @return [Integer] # class ListPlacementsRequest < Struct.new( :project_name, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] placements # An object listing the requested placements. # @return [Array] # # @!attribute [rw] next_token # The token used to retrieve the next set of results - will be # effectively empty if there are no further results. # @return [String] # class ListPlacementsResponse < Struct.new( :placements, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] next_token # The token to retrieve the next set of results. # @return [String] # # @!attribute [rw] max_results # The maximum number of results to return per request. If not set, a # default value of 100 is used. # @return [Integer] # class ListProjectsRequest < Struct.new( :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] projects # An object containing the list of projects. # @return [Array] # # @!attribute [rw] next_token # The token used to retrieve the next set of results - will be # effectively empty if there are no further results. # @return [String] # class ListProjectsResponse < Struct.new( :projects, :next_token) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resource whose tags you want to list. # @return [String] # class ListTagsForResourceRequest < Struct.new( :resource_arn) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] tags # The tags (metadata key/value pairs) which you have assigned to the # resource. # @return [Hash] # class ListTagsForResourceResponse < Struct.new( :tags) SENSITIVE = [] include Aws::Structure end # An object describing a project's placement. # # @!attribute [rw] project_name # The name of the project containing the placement. # @return [String] # # @!attribute [rw] placement_name # The name of the placement. # @return [String] # # @!attribute [rw] attributes # The user-defined attributes associated with the placement. # @return [Hash] # # @!attribute [rw] created_date # The date when the placement was initially created, in UNIX epoch # time format. # @return [Time] # # @!attribute [rw] updated_date # The date when the placement was last updated, in UNIX epoch time # format. If the placement was not updated, then `createdDate` and # `updatedDate` are the same. # @return [Time] # class PlacementDescription < Struct.new( :project_name, :placement_name, :attributes, :created_date, :updated_date) SENSITIVE = [] include Aws::Structure end # An object providing summary information for a particular placement. # # @!attribute [rw] project_name # The name of the project containing the placement. # @return [String] # # @!attribute [rw] placement_name # The name of the placement being summarized. # @return [String] # # @!attribute [rw] created_date # The date when the placement was originally created, in UNIX epoch # time format. # @return [Time] # # @!attribute [rw] updated_date # The date when the placement was last updated, in UNIX epoch time # format. If the placement was not updated, then `createdDate` and # `updatedDate` are the same. # @return [Time] # class PlacementSummary < Struct.new( :project_name, :placement_name, :created_date, :updated_date) SENSITIVE = [] include Aws::Structure end # An object defining the template for a placement. # # @!attribute [rw] default_attributes # The default attributes (key/value pairs) to be applied to all # placements using this template. # @return [Hash] # # @!attribute [rw] device_templates # An object specifying the DeviceTemplate for all placements using # this (PlacementTemplate) template. # @return [Hash] # class PlacementTemplate < Struct.new( :default_attributes, :device_templates) SENSITIVE = [] include Aws::Structure end # An object providing detailed information for a particular project # associated with an AWS account and region. # # @!attribute [rw] arn # The ARN of the project. # @return [String] # # @!attribute [rw] project_name # The name of the project for which to obtain information from. # @return [String] # # @!attribute [rw] description # The description of the project. # @return [String] # # @!attribute [rw] created_date # The date when the project was originally created, in UNIX epoch time # format. # @return [Time] # # @!attribute [rw] updated_date # The date when the project was last updated, in UNIX epoch time # format. If the project was not updated, then `createdDate` and # `updatedDate` are the same. # @return [Time] # # @!attribute [rw] placement_template # An object describing the project's placement specifications. # @return [Types::PlacementTemplate] # # @!attribute [rw] tags # The tags (metadata key/value pairs) associated with the project. # @return [Hash] # class ProjectDescription < Struct.new( :arn, :project_name, :description, :created_date, :updated_date, :placement_template, :tags) SENSITIVE = [] include Aws::Structure end # An object providing summary information for a particular project for # an associated AWS account and region. # # @!attribute [rw] arn # The ARN of the project. # @return [String] # # @!attribute [rw] project_name # The name of the project being summarized. # @return [String] # # @!attribute [rw] created_date # The date when the project was originally created, in UNIX epoch time # format. # @return [Time] # # @!attribute [rw] updated_date # The date when the project was last updated, in UNIX epoch time # format. If the project was not updated, then `createdDate` and # `updatedDate` are the same. # @return [Time] # # @!attribute [rw] tags # The tags (metadata key/value pairs) associated with the project. # @return [Hash] # class ProjectSummary < Struct.new( :arn, :project_name, :created_date, :updated_date, :tags) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # class ResourceConflictException < Struct.new( :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # class ResourceNotFoundException < Struct.new( :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resouce for which tag(s) should be added or modified. # @return [String] # # @!attribute [rw] tags # The new or modifying tag(s) for the resource. See [AWS IoT 1-Click # Service Limits][1] for the maximum number of tags allowed per # resource. # # # # [1]: https://docs.aws.amazon.com/iot-1-click/latest/developerguide/1click-appendix.html#1click-limits # @return [Hash] # class TagResourceRequest < Struct.new( :resource_arn, :tags) SENSITIVE = [] include Aws::Structure end class TagResourceResponse < Aws::EmptyStructure; end # @!attribute [rw] code # @return [String] # # @!attribute [rw] message # @return [String] # class TooManyRequestsException < Struct.new( :code, :message) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_arn # The ARN of the resource whose tag you want to remove. # @return [String] # # @!attribute [rw] tag_keys # The keys of those tags which you want to remove. # @return [Array] # class UntagResourceRequest < Struct.new( :resource_arn, :tag_keys) SENSITIVE = [] include Aws::Structure end class UntagResourceResponse < Aws::EmptyStructure; end # @!attribute [rw] placement_name # The name of the placement to update. # @return [String] # # @!attribute [rw] project_name # The name of the project containing the placement to be updated. # @return [String] # # @!attribute [rw] attributes # The user-defined object of attributes used to update the placement. # The maximum number of key/value pairs is 50. # @return [Hash] # class UpdatePlacementRequest < Struct.new( :placement_name, :project_name, :attributes) SENSITIVE = [] include Aws::Structure end class UpdatePlacementResponse < Aws::EmptyStructure; end # @!attribute [rw] project_name # The name of the project to be updated. # @return [String] # # @!attribute [rw] description # An optional user-defined description for the project. # @return [String] # # @!attribute [rw] placement_template # An object defining the project update. Once a project has been # created, you cannot add device template names to the project. # However, for a given `placementTemplate`, you can update the # associated `callbackOverrides` for the device definition using this # API. # @return [Types::PlacementTemplate] # class UpdateProjectRequest < Struct.new( :project_name, :description, :placement_template) SENSITIVE = [] include Aws::Structure end class UpdateProjectResponse < Aws::EmptyStructure; end end end