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

com.pulumi.awsnative.auditmanager.kotlin.inputs.AssessmentDelegationArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.auditmanager.kotlin.inputs

import com.pulumi.awsnative.auditmanager.inputs.AssessmentDelegationArgs.builder
import com.pulumi.awsnative.auditmanager.kotlin.enums.AssessmentDelegationStatus
import com.pulumi.awsnative.auditmanager.kotlin.enums.AssessmentRoleType
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The assignment of a control set to a delegate for review.
 * @property assessmentId The identifier for the assessment that's associated with the delegation.
 * @property assessmentName The name of the assessment that's associated with the delegation.
 * @property comment The comment that's related to the delegation.
 * @property controlSetId The identifier for the control set that's associated with the delegation.
 * @property createdBy The user or role that created the delegation.
 * *Minimum* : `1`
 * *Maximum* : `100`
 * *Pattern* : `^[a-zA-Z0-9-_()\\[\\]\\s]+$`
 * @property creationTime Specifies when the delegation was created.
 * @property id The unique identifier for the delegation.
 * @property lastUpdated Specifies when the delegation was last updated.
 * @property roleArn The Amazon Resource Name (ARN) of the IAM role.
 * @property roleType The type of customer persona.
 * > In `CreateAssessment` , `roleType` can only be `PROCESS_OWNER` .
 * >
 * > In `UpdateSettings` , `roleType` can only be `PROCESS_OWNER` .
 * >
 * > In `BatchCreateDelegationByAssessment` , `roleType` can only be `RESOURCE_OWNER` .
 * @property status The status of the delegation.
 */
public data class AssessmentDelegationArgs(
    public val assessmentId: Output? = null,
    public val assessmentName: Output? = null,
    public val comment: Output? = null,
    public val controlSetId: Output? = null,
    public val createdBy: Output? = null,
    public val creationTime: Output? = null,
    public val id: Output? = null,
    public val lastUpdated: Output? = null,
    public val roleArn: Output? = null,
    public val roleType: Output? = null,
    public val status: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.auditmanager.inputs.AssessmentDelegationArgs =
        com.pulumi.awsnative.auditmanager.inputs.AssessmentDelegationArgs.builder()
            .assessmentId(assessmentId?.applyValue({ args0 -> args0 }))
            .assessmentName(assessmentName?.applyValue({ args0 -> args0 }))
            .comment(comment?.applyValue({ args0 -> args0 }))
            .controlSetId(controlSetId?.applyValue({ args0 -> args0 }))
            .createdBy(createdBy?.applyValue({ args0 -> args0 }))
            .creationTime(creationTime?.applyValue({ args0 -> args0 }))
            .id(id?.applyValue({ args0 -> args0 }))
            .lastUpdated(lastUpdated?.applyValue({ args0 -> args0 }))
            .roleArn(roleArn?.applyValue({ args0 -> args0 }))
            .roleType(roleType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .status(status?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [AssessmentDelegationArgs].
 */
@PulumiTagMarker
public class AssessmentDelegationArgsBuilder internal constructor() {
    private var assessmentId: Output? = null

    private var assessmentName: Output? = null

    private var comment: Output? = null

    private var controlSetId: Output? = null

    private var createdBy: Output? = null

    private var creationTime: Output? = null

    private var id: Output? = null

    private var lastUpdated: Output? = null

    private var roleArn: Output? = null

    private var roleType: Output? = null

    private var status: Output? = null

    /**
     * @param value The identifier for the assessment that's associated with the delegation.
     */
    @JvmName("cqhnsabaeeqlcuey")
    public suspend fun assessmentId(`value`: Output) {
        this.assessmentId = value
    }

    /**
     * @param value The name of the assessment that's associated with the delegation.
     */
    @JvmName("xyofnektxdsndyku")
    public suspend fun assessmentName(`value`: Output) {
        this.assessmentName = value
    }

    /**
     * @param value The comment that's related to the delegation.
     */
    @JvmName("adaohdyhoteohcyq")
    public suspend fun comment(`value`: Output) {
        this.comment = value
    }

    /**
     * @param value The identifier for the control set that's associated with the delegation.
     */
    @JvmName("ptquqfrdriwdgoup")
    public suspend fun controlSetId(`value`: Output) {
        this.controlSetId = value
    }

    /**
     * @param value The user or role that created the delegation.
     * *Minimum* : `1`
     * *Maximum* : `100`
     * *Pattern* : `^[a-zA-Z0-9-_()\\[\\]\\s]+$`
     */
    @JvmName("yvyadstextclchrk")
    public suspend fun createdBy(`value`: Output) {
        this.createdBy = value
    }

    /**
     * @param value Specifies when the delegation was created.
     */
    @JvmName("gxjeimcttbjiugqg")
    public suspend fun creationTime(`value`: Output) {
        this.creationTime = value
    }

    /**
     * @param value The unique identifier for the delegation.
     */
    @JvmName("bskxdumufeaflrdl")
    public suspend fun id(`value`: Output) {
        this.id = value
    }

    /**
     * @param value Specifies when the delegation was last updated.
     */
    @JvmName("xcofefpwgdijubny")
    public suspend fun lastUpdated(`value`: Output) {
        this.lastUpdated = value
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role.
     */
    @JvmName("kffdbregodbmsipn")
    public suspend fun roleArn(`value`: Output) {
        this.roleArn = value
    }

    /**
     * @param value The type of customer persona.
     * > In `CreateAssessment` , `roleType` can only be `PROCESS_OWNER` .
     * >
     * > In `UpdateSettings` , `roleType` can only be `PROCESS_OWNER` .
     * >
     * > In `BatchCreateDelegationByAssessment` , `roleType` can only be `RESOURCE_OWNER` .
     */
    @JvmName("ehgxoacitxnrqmrh")
    public suspend fun roleType(`value`: Output) {
        this.roleType = value
    }

    /**
     * @param value The status of the delegation.
     */
    @JvmName("bovxjdtdkerkkiqd")
    public suspend fun status(`value`: Output) {
        this.status = value
    }

    /**
     * @param value The identifier for the assessment that's associated with the delegation.
     */
    @JvmName("urmspfpmvyrfgeoc")
    public suspend fun assessmentId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.assessmentId = mapped
    }

    /**
     * @param value The name of the assessment that's associated with the delegation.
     */
    @JvmName("tlsrbvqiyybicrts")
    public suspend fun assessmentName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.assessmentName = mapped
    }

    /**
     * @param value The comment that's related to the delegation.
     */
    @JvmName("fxixxdbxffawxodp")
    public suspend fun comment(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.comment = mapped
    }

    /**
     * @param value The identifier for the control set that's associated with the delegation.
     */
    @JvmName("mqkbvbcmtfswhaxu")
    public suspend fun controlSetId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.controlSetId = mapped
    }

    /**
     * @param value The user or role that created the delegation.
     * *Minimum* : `1`
     * *Maximum* : `100`
     * *Pattern* : `^[a-zA-Z0-9-_()\\[\\]\\s]+$`
     */
    @JvmName("xehpxwmxkomysomu")
    public suspend fun createdBy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.createdBy = mapped
    }

    /**
     * @param value Specifies when the delegation was created.
     */
    @JvmName("rxpmbqaaofjeggcm")
    public suspend fun creationTime(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.creationTime = mapped
    }

    /**
     * @param value The unique identifier for the delegation.
     */
    @JvmName("pmtboxixtknjruwn")
    public suspend fun id(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.id = mapped
    }

    /**
     * @param value Specifies when the delegation was last updated.
     */
    @JvmName("xujrpjroupqussnp")
    public suspend fun lastUpdated(`value`: Double?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lastUpdated = mapped
    }

    /**
     * @param value The Amazon Resource Name (ARN) of the IAM role.
     */
    @JvmName("qipeqyclljmshsjs")
    public suspend fun roleArn(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleArn = mapped
    }

    /**
     * @param value The type of customer persona.
     * > In `CreateAssessment` , `roleType` can only be `PROCESS_OWNER` .
     * >
     * > In `UpdateSettings` , `roleType` can only be `PROCESS_OWNER` .
     * >
     * > In `BatchCreateDelegationByAssessment` , `roleType` can only be `RESOURCE_OWNER` .
     */
    @JvmName("idkwouonuckeelay")
    public suspend fun roleType(`value`: AssessmentRoleType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.roleType = mapped
    }

    /**
     * @param value The status of the delegation.
     */
    @JvmName("dxcidjudigsblntn")
    public suspend fun status(`value`: AssessmentDelegationStatus?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.status = mapped
    }

    internal fun build(): AssessmentDelegationArgs = AssessmentDelegationArgs(
        assessmentId = assessmentId,
        assessmentName = assessmentName,
        comment = comment,
        controlSetId = controlSetId,
        createdBy = createdBy,
        creationTime = creationTime,
        id = id,
        lastUpdated = lastUpdated,
        roleArn = roleArn,
        roleType = roleType,
        status = status,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy