aws-cdk-lib.aws_greengrassv2.CfnDeploymentProps

interface CfnDeploymentProps

LanguageType name
.NETAmazon.CDK.AWS.GreengrassV2.CfnDeploymentProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsgreengrassv2#CfnDeploymentProps
Javasoftware.amazon.awscdk.services.greengrassv2.CfnDeploymentProps
Pythonaws_cdk.aws_greengrassv2.CfnDeploymentProps
TypeScript aws-cdk-lib » aws_greengrassv2 » CfnDeploymentProps

Properties for defining a CfnDeployment.

Example

// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_greengrassv2 as greengrassv2 } from 'aws-cdk-lib';

declare const rateIncreaseCriteria: any;
const cfnDeploymentProps: greengrassv2.CfnDeploymentProps = {
  targetArn: 'targetArn',

  // the properties below are optional
  components: {
    componentsKey: {
      componentVersion: 'componentVersion',
      configurationUpdate: {
        merge: 'merge',
        reset: ['reset'],
      },
      runWith: {
        posixUser: 'posixUser',
        systemResourceLimits: {
          cpus: 123,
          memory: 123,
        },
        windowsUser: 'windowsUser',
      },
    },
  },
  deploymentName: 'deploymentName',
  deploymentPolicies: {
    componentUpdatePolicy: {
      action: 'action',
      timeoutInSeconds: 123,
    },
    configurationValidationPolicy: {
      timeoutInSeconds: 123,
    },
    failureHandlingPolicy: 'failureHandlingPolicy',
  },
  iotJobConfiguration: {
    abortConfig: {
      criteriaList: [{
        action: 'action',
        failureType: 'failureType',
        minNumberOfExecutedThings: 123,
        thresholdPercentage: 123,
      }],
    },
    jobExecutionsRolloutConfig: {
      exponentialRate: {
        baseRatePerMinute: 123,
        incrementFactor: 123,
        rateIncreaseCriteria: rateIncreaseCriteria,
      },
      maximumPerMinute: 123,
    },
    timeoutConfig: {
      inProgressTimeoutInMinutes: 123,
    },
  },
  parentTargetArn: 'parentTargetArn',
  tags: {
    tagsKey: 'tags',
  },
};

Properties

NameTypeDescription
targetArnstringThe ARN of the target AWS IoT thing or thing group.
components?IResolvable | { [string]: IResolvable | ComponentDeploymentSpecificationProperty }The components to deploy.
deploymentName?stringThe name of the deployment.
deploymentPolicies?IResolvable | DeploymentPoliciesPropertyThe deployment policies for the deployment.
iotJobConfiguration?IResolvable | DeploymentIoTJobConfigurationPropertyThe job configuration for the deployment configuration.
parentTargetArn?stringThe parent deployment's ARN for a subdeployment.
tags?{ [string]: string }Application-specific metadata to attach to the deployment.

targetArn

Type: string

The ARN of the target AWS IoT thing or thing group.


components?

Type: IResolvable | { [string]: IResolvable | ComponentDeploymentSpecificationProperty } (optional)

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?

Type: string (optional)

The name of the deployment.


deploymentPolicies?

Type: IResolvable | DeploymentPoliciesProperty (optional)

The deployment policies for the deployment.

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


iotJobConfiguration?

Type: IResolvable | DeploymentIoTJobConfigurationProperty (optional)

The job configuration for the deployment configuration.

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


parentTargetArn?

Type: string (optional)

The parent deployment's ARN for a subdeployment.


tags?

Type: { [string]: string } (optional)

Application-specific metadata to attach to the deployment.

You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see Tag your AWS IoT Greengrass Version 2 resources in the AWS IoT Greengrass V2 Developer Guide .

This Json property type is processed as a map of key-value pairs. It uses the following format, which is different from most Tags implementations in AWS CloudFormation templates.

"Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value"
}