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

com.pulumi.cloudflare.kotlin.outputs.ZeroTrustAccessApplicationSaasApp.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.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.cloudflare.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @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 ZeroTrustAccessApplicationSaasApp(
    public val accessTokenLifetime: String? = null,
    public val allowPkceWithoutClientSecret: Boolean? = null,
    public val appLauncherUrl: String? = null,
    public val authType: String? = null,
    public val clientId: String? = null,
    public val clientSecret: String? = null,
    public val consumerServiceUrl: String? = null,
    public val customAttributes: List? = null,
    public val customClaims: List? = null,
    public val defaultRelayState: String? = null,
    public val grantTypes: List? = null,
    public val groupFilterRegex: String? = null,
    public val hybridAndImplicitOptions: ZeroTrustAccessApplicationSaasAppHybridAndImplicitOptions? =
        null,
    public val idpEntityId: String? = null,
    public val nameIdFormat: String? = null,
    public val nameIdTransformJsonata: String? = null,
    public val publicKey: String? = null,
    public val redirectUris: List? = null,
    public val refreshTokenOptions: List? = null,
    public val samlAttributeTransformJsonata: String? = null,
    public val scopes: List? = null,
    public val spEntityId: String? = null,
    public val ssoEndpoint: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.ZeroTrustAccessApplicationSaasApp): ZeroTrustAccessApplicationSaasApp = ZeroTrustAccessApplicationSaasApp(
            accessTokenLifetime = javaType.accessTokenLifetime().map({ args0 -> args0 }).orElse(null),
            allowPkceWithoutClientSecret = javaType.allowPkceWithoutClientSecret().map({ args0 ->
                args0
            }).orElse(null),
            appLauncherUrl = javaType.appLauncherUrl().map({ args0 -> args0 }).orElse(null),
            authType = javaType.authType().map({ args0 -> args0 }).orElse(null),
            clientId = javaType.clientId().map({ args0 -> args0 }).orElse(null),
            clientSecret = javaType.clientSecret().map({ args0 -> args0 }).orElse(null),
            consumerServiceUrl = javaType.consumerServiceUrl().map({ args0 -> args0 }).orElse(null),
            customAttributes = javaType.customAttributes().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustAccessApplicationSaasAppCustomAttribute.Companion.toKotlin(args0)
                })
            }),
            customClaims = javaType.customClaims().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustAccessApplicationSaasAppCustomClaim.Companion.toKotlin(args0)
                })
            }),
            defaultRelayState = javaType.defaultRelayState().map({ args0 -> args0 }).orElse(null),
            grantTypes = javaType.grantTypes().map({ args0 -> args0 }),
            groupFilterRegex = javaType.groupFilterRegex().map({ args0 -> args0 }).orElse(null),
            hybridAndImplicitOptions = javaType.hybridAndImplicitOptions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustAccessApplicationSaasAppHybridAndImplicitOptions.Companion.toKotlin(args0)
                })
            }).orElse(null),
            idpEntityId = javaType.idpEntityId().map({ args0 -> args0 }).orElse(null),
            nameIdFormat = javaType.nameIdFormat().map({ args0 -> args0 }).orElse(null),
            nameIdTransformJsonata = javaType.nameIdTransformJsonata().map({ args0 -> args0 }).orElse(null),
            publicKey = javaType.publicKey().map({ args0 -> args0 }).orElse(null),
            redirectUris = javaType.redirectUris().map({ args0 -> args0 }),
            refreshTokenOptions = javaType.refreshTokenOptions().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.ZeroTrustAccessApplicationSaasAppRefreshTokenOption.Companion.toKotlin(args0)
                })
            }),
            samlAttributeTransformJsonata = javaType.samlAttributeTransformJsonata().map({ args0 ->
                args0
            }).orElse(null),
            scopes = javaType.scopes().map({ args0 -> args0 }),
            spEntityId = javaType.spEntityId().map({ args0 -> args0 }).orElse(null),
            ssoEndpoint = javaType.ssoEndpoint().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy