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

com.pulumi.awsnative.codepipeline.kotlin.outputs.PipelineActionDeclaration.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: 0.122.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.codepipeline.kotlin.outputs

import kotlin.Any
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * Represents information about an action declaration.
 * @property actionTypeId Specifies the action type and the provider of the action.
 * @property configuration The action's configuration. These are key-value pairs that specify input values for an action.
 * @property inputArtifacts The name or ID of the artifact consumed by the action, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of input artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .
 * > For a CodeBuild action with multiple input artifacts, one of your input sources must be designated the PrimarySource. For more information, see the [CodeBuild action reference page](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CodeBuild.html) in the *AWS CodePipeline User Guide* .
 * @property name The action declaration's name.
 * @property namespace The variable namespace associated with the action. All variables produced as output by this action fall under this namespace.
 * @property outputArtifacts The name or ID of the result of the action declaration, such as a test or build artifact. While the field is not a required parameter, most actions have an action configuration that requires a specified quantity of output artifacts. To refer to the action configuration specification by action provider, see the [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) in the *AWS CodePipeline User Guide* .
 * @property region The action declaration's AWS Region, such as us-east-1.
 * @property roleArn The ARN of the IAM service role that performs the declared action. This is assumed through the roleArn for the pipeline.
 * @property runOrder The order in which actions are run.
 * @property timeoutInMinutes A timeout duration in minutes that can be applied against the ActionType’s default timeout value specified in Quotas for AWS CodePipeline. This attribute is available only to the manual approval ActionType.
 */
public data class PipelineActionDeclaration(
    public val actionTypeId: PipelineActionTypeId,
    public val configuration: Any? = null,
    public val inputArtifacts: List? = null,
    public val name: String,
    public val namespace: String? = null,
    public val outputArtifacts: List? = null,
    public val region: String? = null,
    public val roleArn: String? = null,
    public val runOrder: Int? = null,
    public val timeoutInMinutes: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.codepipeline.outputs.PipelineActionDeclaration): PipelineActionDeclaration = PipelineActionDeclaration(
            actionTypeId = javaType.actionTypeId().let({ args0 ->
                com.pulumi.awsnative.codepipeline.kotlin.outputs.PipelineActionTypeId.Companion.toKotlin(args0)
            }),
            configuration = javaType.configuration().map({ args0 -> args0 }).orElse(null),
            inputArtifacts = javaType.inputArtifacts().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.codepipeline.kotlin.outputs.PipelineInputArtifact.Companion.toKotlin(args0)
                })
            }),
            name = javaType.name(),
            namespace = javaType.namespace().map({ args0 -> args0 }).orElse(null),
            outputArtifacts = javaType.outputArtifacts().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.codepipeline.kotlin.outputs.PipelineOutputArtifact.Companion.toKotlin(args0)
                })
            }),
            region = javaType.region().map({ args0 -> args0 }).orElse(null),
            roleArn = javaType.roleArn().map({ args0 -> args0 }).orElse(null),
            runOrder = javaType.runOrder().map({ args0 -> args0 }).orElse(null),
            timeoutInMinutes = javaType.timeoutInMinutes().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy