java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.Mixin
software.amazon.awscdk.cfnpropertymixins.services.greengrassv2.CfnDeploymentPropsMixin
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable, software.constructs.IMixin

@Generated(value="jsii-pacmak/1.127.0 (build 2117ad5)", date="2026-03-11T13:19:59.880Z") @Stability(Stable) public class CfnDeploymentPropsMixin extends Mixin implements software.constructs.IMixin
Creates a continuous deployment for a target, which is a AWS IoT Greengrass core device or group of core devices.

When you add a new core device to a group of core devices that has a deployment, AWS IoT Greengrass deploys that group's deployment to the new device.

You can define one deployment for each target. When you create a new deployment for a target that has an existing deployment, you replace the previous deployment. AWS IoT Greengrass applies the new deployment to the target devices.

You can only add, update, or delete up to 10 deployments at a time to a single target.

Every deployment has a revision number that indicates how many deployment revisions you define for a target. Use this operation to create a new revision of an existing deployment. This operation returns the revision number of the new deployment when you create it.

For more information, see the Create deployments in the AWS IoT Greengrass V2 Developer Guide .

Deployment resources are deleted when you delete stacks. To keep the deployments in a stack, you must specify "DeletionPolicy": "Retain" on each deployment resource in the stack template that you want to keep. For more information, see DeletionPolicy .

You can only delete up to 10 deployment resources at a time. If you delete more than 10 resources, you receive an error.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.cfnpropertymixins.services.greengrassv2.*;
 import software.amazon.awscdk.*;
 IMergeStrategy mergeStrategy;
 Object rateIncreaseCriteria;
 CfnDeploymentPropsMixin cfnDeploymentPropsMixin = CfnDeploymentPropsMixin.Builder.create(CfnDeploymentMixinProps.builder()
         .components(Map.of(
                 "componentsKey", ComponentDeploymentSpecificationProperty.builder()
                         .componentVersion("componentVersion")
                         .configurationUpdate(ComponentConfigurationUpdateProperty.builder()
                                 .merge("merge")
                                 .reset(List.of("reset"))
                                 .build())
                         .runWith(ComponentRunWithProperty.builder()
                                 .posixUser("posixUser")
                                 .systemResourceLimits(SystemResourceLimitsProperty.builder()
                                         .cpus(123)
                                         .memory(123)
                                         .build())
                                 .windowsUser("windowsUser")
                                 .build())
                         .build()))
         .deploymentName("deploymentName")
         .deploymentPolicies(DeploymentPoliciesProperty.builder()
                 .componentUpdatePolicy(DeploymentComponentUpdatePolicyProperty.builder()
                         .action("action")
                         .timeoutInSeconds(123)
                         .build())
                 .configurationValidationPolicy(DeploymentConfigurationValidationPolicyProperty.builder()
                         .timeoutInSeconds(123)
                         .build())
                 .failureHandlingPolicy("failureHandlingPolicy")
                 .build())
         .iotJobConfiguration(DeploymentIoTJobConfigurationProperty.builder()
                 .abortConfig(IoTJobAbortConfigProperty.builder()
                         .criteriaList(List.of(IoTJobAbortCriteriaProperty.builder()
                                 .action("action")
                                 .failureType("failureType")
                                 .minNumberOfExecutedThings(123)
                                 .thresholdPercentage(123)
                                 .build()))
                         .build())
                 .jobExecutionsRolloutConfig(IoTJobExecutionsRolloutConfigProperty.builder()
                         .exponentialRate(IoTJobExponentialRolloutRateProperty.builder()
                                 .baseRatePerMinute(123)
                                 .incrementFactor(123)
                                 .rateIncreaseCriteria(rateIncreaseCriteria)
                                 .build())
                         .maximumPerMinute(123)
                         .build())
                 .timeoutConfig(IoTJobTimeoutConfigProperty.builder()
                         .inProgressTimeoutInMinutes(123)
                         .build())
                 .build())
         .parentTargetArn("parentTargetArn")
         .tags(Map.of(
                 "tagsKey", "tags"))
         .targetArn("targetArn")
         .build())
 .strategy(mergeStrategy)
 .build();
 

See Also:
  • Field Details

    • CFN_PROPERTY_KEYS

      @Stability(Stable) protected static final List<String> CFN_PROPERTY_KEYS
  • Constructor Details

    • CfnDeploymentPropsMixin

      protected CfnDeploymentPropsMixin(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDeploymentPropsMixin

      protected CfnDeploymentPropsMixin(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDeploymentPropsMixin

      @Stability(Stable) public CfnDeploymentPropsMixin(@NotNull CfnDeploymentMixinProps props, @Nullable CfnPropertyMixinOptions options)
      Create a mixin to apply properties to AWS::GreengrassV2::Deployment.

      Parameters:
      props - L1 properties to apply. This parameter is required.
      options - Mixin options.
    • CfnDeploymentPropsMixin

      @Stability(Stable) public CfnDeploymentPropsMixin(@NotNull CfnDeploymentMixinProps props)
      Create a mixin to apply properties to AWS::GreengrassV2::Deployment.

      Parameters:
      props - L1 properties to apply. This parameter is required.
  • Method Details

    • applyTo

      @Stability(Stable) public void applyTo(@NotNull software.constructs.IConstruct construct)
      Apply the mixin properties to the construct.

      Specified by:
      applyTo in interface software.constructs.IMixin
      Specified by:
      applyTo in class Mixin
      Parameters:
      construct - This parameter is required.
    • supports

      @Stability(Stable) @NotNull public Boolean supports(@NotNull software.constructs.IConstruct construct)
      Check if this mixin supports the given construct.

      Specified by:
      supports in interface software.constructs.IMixin
      Overrides:
      supports in class Mixin
      Parameters:
      construct - This parameter is required.
    • getProps

      @Stability(Stable) @NotNull protected CfnDeploymentMixinProps getProps()
    • getStrategy

      @Stability(Stable) @NotNull protected IMergeStrategy getStrategy()