All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.greengrassv2.kotlin.outputs.DeploymentComponentUpdatePolicy.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.greengrassv2.kotlin.outputs

import com.pulumi.awsnative.greengrassv2.kotlin.enums.DeploymentComponentUpdatePolicyAction
import kotlin.Int
import kotlin.Suppress

/**
 *
 * @property action Whether or not to notify components and wait for components to become safe to update. Choose from the following options:
 * - `NOTIFY_COMPONENTS` – The deployment notifies each component before it stops and updates that component. Components can use the [SubscribeToComponentUpdates](https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates) IPC operation to receive these notifications. Then, components can respond with the [DeferComponentUpdate](https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate) IPC operation. For more information, see the [Create deployments](https://docs.aws.amazon.com/greengrass/v2/developerguide/create-deployments.html) in the *AWS IoT Greengrass V2 Developer Guide* .
 * - `SKIP_NOTIFY_COMPONENTS` – The deployment doesn't notify components or wait for them to be safe to update.
 * Default: `NOTIFY_COMPONENTS`
 * @property timeoutInSeconds The amount of time in seconds that each component on a device has to report that it's safe to update. If the component waits for longer than this timeout, then the deployment proceeds on the device.
 * Default: `60`
 */
public data class DeploymentComponentUpdatePolicy(
    public val action: DeploymentComponentUpdatePolicyAction? = null,
    public val timeoutInSeconds: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.greengrassv2.outputs.DeploymentComponentUpdatePolicy): DeploymentComponentUpdatePolicy = DeploymentComponentUpdatePolicy(
            action = javaType.action().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.greengrassv2.kotlin.enums.DeploymentComponentUpdatePolicyAction.Companion.toKotlin(args0)
                })
            }).orElse(null),
            timeoutInSeconds = javaType.timeoutInSeconds().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy