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,
        },
        windows_user: "NonEmptyString",
      },
    },
  },
  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)


1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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:



1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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)


1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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.



1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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.



1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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>)


1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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)


1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'gems/aws-sdk-greengrassv2/lib/aws-sdk-greengrassv2/types.rb', line 1124

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