AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Class: Aws::GreengrassV2::Types::CreateDeploymentRequest

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

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)


994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#componentsHash<String,Types::ComponentDeploymentSpecification>

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.

Returns:



994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#deployment_nameString

The name of the deployment.

Returns:

  • (String)


994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#deployment_policiesTypes::DeploymentPolicies

The deployment policies for the deployment. These policies define how the deployment updates components and handles failure.



994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#iot_job_configurationTypes::DeploymentIoTJobConfiguration

The job configuration for the deployment configuration. The job configuration specifies the rollout, timeout, and stop configurations for the deployment configuration.



994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :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>)


994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end

#target_arnString

The ARN of the target IoT thing or thing group.

Returns:

  • (String)


994
995
996
997
998
999
1000
1001
1002
1003
1004
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 994

class CreateDeploymentRequest < Struct.new(
  :target_arn,
  :deployment_name,
  :components,
  :iot_job_configuration,
  :deployment_policies,
  :tags,
  :client_token)
  SENSITIVE = []
  include Aws::Structure
end