Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
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.cloudflare.kotlin.inputs
import com.pulumi.cloudflare.inputs.ZeroTrustAccessApplicationSaasAppArgs.builder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property accessTokenLifetime The lifetime of the Access Token after creation. Valid units are `m` and `h`. Must be greater than or equal to 1m and less than or equal to 24h.
* @property allowPkceWithoutClientSecret Allow PKCE flow without a client secret.
* @property appLauncherUrl The URL where this applications tile redirects users.
* @property authType **Modifying this attribute will force creation of a new resource.**
* @property clientId The application client id.
* @property clientSecret The application client secret, only returned on initial apply.
* @property consumerServiceUrl The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
* @property customAttributes Custom attribute mapped from IDPs.
* @property customClaims Custom claim mapped from IDPs.
* @property defaultRelayState The relay state used if not provided by the identity provider.
* @property grantTypes The OIDC flows supported by this application.
* @property groupFilterRegex A regex to filter Cloudflare groups returned in ID token and userinfo endpoint.
* @property hybridAndImplicitOptions Hybrid and Implicit Flow options.
* @property idpEntityId The unique identifier for the SaaS application.
* @property nameIdFormat The format of the name identifier sent to the SaaS application.
* @property nameIdTransformJsonata A [JSONata](https://jsonata.org/) expression that transforms an application's user identities into a NameID value for its SAML assertion. This expression should evaluate to a singular string. The output of this expression can override the `name_id_format` setting.
* @property publicKey The public certificate that will be used to verify identities.
* @property redirectUris The permitted URL's for Cloudflare to return Authorization codes and Access/ID tokens.
* @property refreshTokenOptions Refresh token grant options.
* @property samlAttributeTransformJsonata A [JSONata](https://jsonata.org/) expression that transforms an application's user identities into attribute assertions in the SAML response. The expression can transform id, email, name, and groups values. It can also transform fields listed in the saml*attributes or oidc*fields of the identity provider used to authenticate. The output of this expression must be a JSON object.
* @property scopes Define the user information shared with access.
* @property spEntityId A globally unique name for an identity or service provider.
* @property ssoEndpoint The endpoint where the SaaS application will send login requests.
*/
public data class ZeroTrustAccessApplicationSaasAppArgs(
public val accessTokenLifetime: Output? = null,
public val allowPkceWithoutClientSecret: Output? = null,
public val appLauncherUrl: Output? = null,
public val authType: Output? = null,
public val clientId: Output? = null,
public val clientSecret: Output? = null,
public val consumerServiceUrl: Output? = null,
public val customAttributes: Output>? =
null,
public val customClaims: Output>? = null,
public val defaultRelayState: Output? = null,
public val grantTypes: Output>? = null,
public val groupFilterRegex: Output? = null,
public val hybridAndImplicitOptions: Output? = null,
public val idpEntityId: Output? = null,
public val nameIdFormat: Output? = null,
public val nameIdTransformJsonata: Output? = null,
public val publicKey: Output? = null,
public val redirectUris: Output>? = null,
public val refreshTokenOptions: Output>? = null,
public val samlAttributeTransformJsonata: Output? = null,
public val scopes: Output>? = null,
public val spEntityId: Output? = null,
public val ssoEndpoint: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.cloudflare.inputs.ZeroTrustAccessApplicationSaasAppArgs =
com.pulumi.cloudflare.inputs.ZeroTrustAccessApplicationSaasAppArgs.builder()
.accessTokenLifetime(accessTokenLifetime?.applyValue({ args0 -> args0 }))
.allowPkceWithoutClientSecret(allowPkceWithoutClientSecret?.applyValue({ args0 -> args0 }))
.appLauncherUrl(appLauncherUrl?.applyValue({ args0 -> args0 }))
.authType(authType?.applyValue({ args0 -> args0 }))
.clientId(clientId?.applyValue({ args0 -> args0 }))
.clientSecret(clientSecret?.applyValue({ args0 -> args0 }))
.consumerServiceUrl(consumerServiceUrl?.applyValue({ args0 -> args0 }))
.customAttributes(
customAttributes?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.customClaims(
customClaims?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.defaultRelayState(defaultRelayState?.applyValue({ args0 -> args0 }))
.grantTypes(grantTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.groupFilterRegex(groupFilterRegex?.applyValue({ args0 -> args0 }))
.hybridAndImplicitOptions(
hybridAndImplicitOptions?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.idpEntityId(idpEntityId?.applyValue({ args0 -> args0 }))
.nameIdFormat(nameIdFormat?.applyValue({ args0 -> args0 }))
.nameIdTransformJsonata(nameIdTransformJsonata?.applyValue({ args0 -> args0 }))
.publicKey(publicKey?.applyValue({ args0 -> args0 }))
.redirectUris(redirectUris?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.refreshTokenOptions(
refreshTokenOptions?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.samlAttributeTransformJsonata(samlAttributeTransformJsonata?.applyValue({ args0 -> args0 }))
.scopes(scopes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.spEntityId(spEntityId?.applyValue({ args0 -> args0 }))
.ssoEndpoint(ssoEndpoint?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ZeroTrustAccessApplicationSaasAppArgs].
*/
@PulumiTagMarker
public class ZeroTrustAccessApplicationSaasAppArgsBuilder internal constructor() {
private var accessTokenLifetime: Output? = null
private var allowPkceWithoutClientSecret: Output? = null
private var appLauncherUrl: Output? = null
private var authType: Output? = null
private var clientId: Output? = null
private var clientSecret: Output? = null
private var consumerServiceUrl: Output? = null
private var customAttributes: Output>? =
null
private var customClaims: Output>? = null
private var defaultRelayState: Output? = null
private var grantTypes: Output>? = null
private var groupFilterRegex: Output? = null
private var hybridAndImplicitOptions:
Output? = null
private var idpEntityId: Output? = null
private var nameIdFormat: Output? = null
private var nameIdTransformJsonata: Output? = null
private var publicKey: Output? = null
private var redirectUris: Output>? = null
private var refreshTokenOptions:
Output>? = null
private var samlAttributeTransformJsonata: Output? = null
private var scopes: Output>? = null
private var spEntityId: Output? = null
private var ssoEndpoint: Output? = null
/**
* @param value The lifetime of the Access Token after creation. Valid units are `m` and `h`. Must be greater than or equal to 1m and less than or equal to 24h.
*/
@JvmName("hsbdisevmjejymru")
public suspend fun accessTokenLifetime(`value`: Output) {
this.accessTokenLifetime = value
}
/**
* @param value Allow PKCE flow without a client secret.
*/
@JvmName("dauqoubqtqoatjqm")
public suspend fun allowPkceWithoutClientSecret(`value`: Output) {
this.allowPkceWithoutClientSecret = value
}
/**
* @param value The URL where this applications tile redirects users.
*/
@JvmName("wcasuptmvjfrrcfd")
public suspend fun appLauncherUrl(`value`: Output) {
this.appLauncherUrl = value
}
/**
* @param value **Modifying this attribute will force creation of a new resource.**
*/
@JvmName("lpcpjdrgqqjkdgik")
public suspend fun authType(`value`: Output) {
this.authType = value
}
/**
* @param value The application client id.
*/
@JvmName("xpadkfomkargdimv")
public suspend fun clientId(`value`: Output) {
this.clientId = value
}
/**
* @param value The application client secret, only returned on initial apply.
*/
@JvmName("iofqctrrgvsrnhod")
public suspend fun clientSecret(`value`: Output) {
this.clientSecret = value
}
/**
* @param value The service provider's endpoint that is responsible for receiving and parsing a SAML assertion.
*/
@JvmName("vorrahjlxxgjiiyg")
public suspend fun consumerServiceUrl(`value`: Output) {
this.consumerServiceUrl = value
}
/**
* @param value Custom attribute mapped from IDPs.
*/
@JvmName("pksuykgepesdbnjw")
public suspend fun customAttributes(`value`: Output>) {
this.customAttributes = value
}
@JvmName("yyrbjcjnbfwaxhof")
public suspend fun customAttributes(vararg values: Output) {
this.customAttributes = Output.all(values.asList())
}
/**
* @param values Custom attribute mapped from IDPs.
*/
@JvmName("yjubpacwgbndhyqq")
public suspend fun customAttributes(values: List