
com.pulumi.awsnative.rolesanywhere.kotlin.ProfileArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.rolesanywhere.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.rolesanywhere.ProfileArgs.builder
import com.pulumi.awsnative.rolesanywhere.kotlin.inputs.ProfileAttributeMappingArgs
import com.pulumi.awsnative.rolesanywhere.kotlin.inputs.ProfileAttributeMappingArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Double
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Definition of AWS::RolesAnywhere::Profile Resource Type
* @property attributeMappings A mapping applied to the authenticating end-entity certificate.
* @property durationSeconds The number of seconds vended session credentials will be valid for
* @property enabled The enabled status of the resource.
* @property managedPolicyArns A list of managed policy ARNs. Managed policies identified by this list will be applied to the vended session credentials.
* @property name The customer specified name of the resource.
* @property requireInstanceProperties Specifies whether instance properties are required in CreateSession requests with this profile.
* @property roleArns A list of IAM role ARNs that can be assumed when this profile is specified in a CreateSession request.
* @property sessionPolicy A session policy that will applied to the trust boundary of the vended session credentials.
* @property tags A list of Tags.
*/
public data class ProfileArgs(
public val attributeMappings: Output>? = null,
public val durationSeconds: Output? = null,
public val enabled: Output? = null,
public val managedPolicyArns: Output>? = null,
public val name: Output? = null,
public val requireInstanceProperties: Output? = null,
public val roleArns: Output>? = null,
public val sessionPolicy: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.rolesanywhere.ProfileArgs =
com.pulumi.awsnative.rolesanywhere.ProfileArgs.builder()
.attributeMappings(
attributeMappings?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.durationSeconds(durationSeconds?.applyValue({ args0 -> args0 }))
.enabled(enabled?.applyValue({ args0 -> args0 }))
.managedPolicyArns(managedPolicyArns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.name(name?.applyValue({ args0 -> args0 }))
.requireInstanceProperties(requireInstanceProperties?.applyValue({ args0 -> args0 }))
.roleArns(roleArns?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.sessionPolicy(sessionPolicy?.applyValue({ args0 -> args0 }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [ProfileArgs].
*/
@PulumiTagMarker
public class ProfileArgsBuilder internal constructor() {
private var attributeMappings: Output>? = null
private var durationSeconds: Output? = null
private var enabled: Output? = null
private var managedPolicyArns: Output>? = null
private var name: Output? = null
private var requireInstanceProperties: Output? = null
private var roleArns: Output>? = null
private var sessionPolicy: Output? = null
private var tags: Output>? = null
/**
* @param value A mapping applied to the authenticating end-entity certificate.
*/
@JvmName("wucrxjcxfddjqqvr")
public suspend fun attributeMappings(`value`: Output>) {
this.attributeMappings = value
}
@JvmName("dseepgwhuhutgukp")
public suspend fun attributeMappings(vararg values: Output) {
this.attributeMappings = Output.all(values.asList())
}
/**
* @param values A mapping applied to the authenticating end-entity certificate.
*/
@JvmName("rvynpttlbxxmeebl")
public suspend fun attributeMappings(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy