class Aws::GreengrassV2::Types::CreateComponentVersionRequest

@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",
    }

@!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<String,String>]

@!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 docs.aws.amazon.com/goto/WebAPI/greengrassv2-2020-11-30/CreateComponentVersionRequest AWS API Documentation

Constants

SENSITIVE