class Aws::GreengrassV2::Types::CreateDeploymentRequest

@note When making an API call, you may pass CreateDeploymentRequest

data as a hash:

    {
      target_arn: "TargetARN", # required
      deployment_name: "NonEmptyString",
      components: {
        "NonEmptyString" => {
          component_version: "ComponentVersionString",
          configuration_update: {
            merge: "ComponentConfigurationString",
            reset: ["ComponentConfigurationPath"],
          },
          run_with: {
            posix_user: "NonEmptyString",
            system_resource_limits: {
              memory: 1,
              cpus: 1.0,
            },
          },
        },
      },
      iot_job_configuration: {
        job_executions_rollout_config: {
          exponential_rate: {
            base_rate_per_minute: 1, # required
            increment_factor: 1.0, # required
            rate_increase_criteria: { # required
              number_of_notified_things: 1,
              number_of_succeeded_things: 1,
            },
          },
          maximum_per_minute: 1,
        },
        abort_config: {
          criteria_list: [ # required
            {
              failure_type: "FAILED", # required, accepts FAILED, REJECTED, TIMED_OUT, ALL
              action: "CANCEL", # required, accepts CANCEL
              threshold_percentage: 1.0, # required
              min_number_of_executed_things: 1, # required
            },
          ],
        },
        timeout_config: {
          in_progress_timeout_in_minutes: 1,
        },
      },
      deployment_policies: {
        failure_handling_policy: "ROLLBACK", # accepts ROLLBACK, DO_NOTHING
        component_update_policy: {
          timeout_in_seconds: 1,
          action: "NOTIFY_COMPONENTS", # accepts NOTIFY_COMPONENTS, SKIP_NOTIFY_COMPONENTS
        },
        configuration_validation_policy: {
          timeout_in_seconds: 1,
        },
      },
      tags: {
        "TagKey" => "TagValue",
      },
      client_token: "ClientTokenString",
    }

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

@!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] 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/CreateDeploymentRequest AWS API Documentation

Constants

SENSITIVE