Class: Aws::GreengrassV2::Types::CreateComponentVersionRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb

Overview

Note:

When making an API call, you may pass CreateComponentVersionRequest data as a hash:

{
  inline_recipe: "data",
  lambda_function: {
    lambda_arn: "LambdaFunctionARNWithVersionNumber", # required
    component_name: "ComponentNameString",
    component_version: "ComponentVersionString",
    component_platforms: [
      {
        name: "NonEmptyString",
        attributes: {
          "NonEmptyString" => "NonEmptyString",
        },
      },
    ],
    component_dependencies: {
      "NonEmptyString" => {
        version_requirement: "NonEmptyString",
        dependency_type: "HARD", # accepts HARD, SOFT
      },
    },
    component_lambda_parameters: {
      event_sources: [
        {
          topic: "TopicString", # required
          type: "PUB_SUB", # required, accepts PUB_SUB, IOT_CORE
        },
      ],
      max_queue_size: 1,
      max_instances_count: 1,
      max_idle_time_in_seconds: 1,
      timeout_in_seconds: 1,
      status_timeout_in_seconds: 1,
      pinned: false,
      input_payload_encoding_type: "json", # accepts json, binary
      exec_args: ["LambdaExecArg"],
      environment_variables: {
        "NonEmptyString" => "String",
      },
      linux_process_params: {
        isolation_mode: "GreengrassContainer", # accepts GreengrassContainer, NoContainer
        container_params: {
          memory_size_in_kb: 1,
          mount_ro_sysfs: false,
          volumes: [
            {
              source_path: "FileSystemPath", # required
              destination_path: "FileSystemPath", # required
              permission: "ro", # accepts ro, rw
              add_group_owner: false,
            },
          ],
          devices: [
            {
              path: "FileSystemPath", # required
              permission: "ro", # accepts ro, rw
              add_group_owner: false,
            },
          ],
        },
      },
    },
  },
  tags: {
    "TagKey" => "TagValue",
  },
  client_token: "ClientTokenString",
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

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.

Returns:

  • (String)


827
828
829
830
831
832
833
834
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 827

class CreateComponentVersionRequest < Struct.new(
  :inline_recipe,
  :lambda_function,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#inline_recipeString

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.

Returns:

  • (String)


827
828
829
830
831
832
833
834
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 827

class CreateComponentVersionRequest < Struct.new(
  :inline_recipe,
  :lambda_function,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#lambda_functionTypes::LambdaFunctionRecipeSource

The parameters to create a component from a Lambda function.

You must specify either inlineRecipe or lambdaFunction.



827
828
829
830
831
832
833
834
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 827

class CreateComponentVersionRequest < Struct.new(
  :inline_recipe,
  :lambda_function,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources in the IoT Greengrass V2 Developer Guide.

Returns:

  • (Hash<String,String>)


827
828
829
830
831
832
833
834
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 827

class CreateComponentVersionRequest < Struct.new(
  :inline_recipe,
  :lambda_function,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end