NAME

Paws::GreengrassV2::CreateDeployment - Arguments for method CreateDeployment on Paws::GreengrassV2

DESCRIPTION

This class represents the parameters used for calling the method CreateDeployment on the AWS IoT Greengrass V2 service. Use the attributes of this class as arguments to method CreateDeployment.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateDeployment.

SYNOPSIS

my $greengrass = Paws->service('GreengrassV2');
my $CreateDeploymentResponse = $greengrass->CreateDeployment(
  TargetArn  => 'MyTargetARN',
  Components => {
    'MyNonEmptyString' => {
      ComponentVersion =>
        'MyComponentVersionString',    # min: 1, max: 64; OPTIONAL
      ConfigurationUpdate => {
        Merge =>
          'MyComponentConfigurationString',   # min: 1, max: 65536; OPTIONAL
        Reset => [
          'MyComponentConfigurationPath', ...    # max: 256
        ],    # OPTIONAL
      },    # OPTIONAL
      RunWith => {
        PosixUser => 'MyNonEmptyString',    # min: 1
      },    # OPTIONAL
    },    # key: min: 1
  },    # OPTIONAL
  DeploymentName     => 'MyNonEmptyString',    # OPTIONAL
  DeploymentPolicies => {
    ComponentUpdatePolicy => {
      Action => 'NOTIFY_COMPONENTS'
      ,    # values: NOTIFY_COMPONENTS, SKIP_NOTIFY_COMPONENTS; OPTIONAL
      TimeoutInSeconds => 1,    # OPTIONAL
    },    # OPTIONAL
    ConfigurationValidationPolicy => {
      TimeoutInSeconds => 1,    # OPTIONAL
    },    # OPTIONAL
    FailureHandlingPolicy =>
      'ROLLBACK',    # values: ROLLBACK, DO_NOTHING; OPTIONAL
  },    # OPTIONAL
  IotJobConfiguration => {
    AbortConfig => {
      CriteriaList => [
        {
          Action      => 'CANCEL',    # values: CANCEL
          FailureType =>
            'FAILED',    # values: FAILED, REJECTED, TIMED_OUT, ALL
          MinNumberOfExecutedThings => 1,    # min: 1
          ThresholdPercentage       => 1,    # max: 100

        },
        ...
      ],    # min: 1

    },    # OPTIONAL
    JobExecutionsRolloutConfig => {
      ExponentialRate => {
        BaseRatePerMinute    => 1,    # min: 1, max: 1000
        IncrementFactor      => 1,    # min: 1, max: 5
        RateIncreaseCriteria => {
          NumberOfNotifiedThings  => 1,    # min: 1; OPTIONAL
          NumberOfSucceededThings => 1,    # min: 1; OPTIONAL
        },

      },    # OPTIONAL
      MaximumPerMinute => 1,    # min: 1, max: 1000; OPTIONAL
    },    # OPTIONAL
    TimeoutConfig => {
      InProgressTimeoutInMinutes => 1,    # OPTIONAL
    },    # OPTIONAL
  },    # OPTIONAL
  Tags => {
    'MyTagKey' => 'MyTagValue',    # key: min: 1, max: 128, value: max: 256
  },    # OPTIONAL
);

# Results:
my $DeploymentId = $CreateDeploymentResponse->DeploymentId;
my $IotJobArn    = $CreateDeploymentResponse->IotJobArn;
my $IotJobId     = $CreateDeploymentResponse->IotJobId;

# Returns a L<Paws::GreengrassV2::CreateDeploymentResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/greengrass/CreateDeployment

ATTRIBUTES

Components => Paws::GreengrassV2::ComponentDeploymentSpecifications

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.

DeploymentName => Str

The name of the deployment.

You can create deployments without names. If you create a deployment without a name, the AWS IoT Greengrass V2 console shows the deployment name as <targetType>:<targetName>, where targetType and targetName are the type and name of the deployment target.

DeploymentPolicies => Paws::GreengrassV2::DeploymentPolicies

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

IotJobConfiguration => Paws::GreengrassV2::DeploymentIoTJobConfiguration

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

Tags => Paws::GreengrassV2::TagMap

A list of key-value pairs that contain metadata for the resource. For more information, see Tag your resources (https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) in the AWS IoT Greengrass V2 Developer Guide.

REQUIRED TargetArn => Str

The ARN (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of the target AWS IoT thing or thing group.

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateDeployment in Paws::GreengrassV2

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues