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
import com.pulumi.cloudflare.ZeroTrustAccessApplicationArgs.builder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationCorsHeaderArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationCorsHeaderArgsBuilder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationFooterLinkArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationFooterLinkArgsBuilder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationLandingPageDesignArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationLandingPageDesignArgsBuilder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationSaasAppArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationSaasAppArgsBuilder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationScimConfigArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationScimConfigArgsBuilder
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationTargetCriteriaArgs
import com.pulumi.cloudflare.kotlin.inputs.ZeroTrustAccessApplicationTargetCriteriaArgsBuilder
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
/**
* Provides a Cloudflare Access Application resource. Access
* Applications are used to restrict access to a whole application using an
* authorisation gateway managed by Cloudflare.
* > It's required that an `account_id` or `zone_id` is provided and in
* most cases using either is fine. However, if you're using a scoped
* access token, you must provide the argument that matches the token's
* scope. For example, an access token that is scoped to the "example.com"
* zone needs to use the `zone_id` argument.
* ## Import
* ```sh
* $ pulumi import cloudflare:index/zeroTrustAccessApplication:ZeroTrustAccessApplication example /
* ```
* @property accountId The account identifier to target for the resource. Conflicts with `zone_id`.
* @property allowAuthenticateViaWarp When set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
* @property allowedIdps The identity providers selected for the application.
* @property appLauncherLogoUrl The logo URL of the app launcher.
* @property appLauncherVisible Option to show/hide applications in App Launcher. Defaults to `true`.
* @property autoRedirectToIdentity Option to skip identity provider selection if only one is configured in `allowed_idps`. Defaults to `false`.
* @property bgColor The background color of the app launcher.
* @property corsHeaders CORS configuration for the Access Application. See below for reference structure.
* @property customDenyMessage Option that returns a custom error message when a user is denied access to the application.
* @property customDenyUrl Option that redirects to a custom URL when a user is denied access to the application via identity based rules.
* @property customNonIdentityDenyUrl Option that redirects to a custom URL when a user is denied access to the application via non identity rules.
* @property customPages The custom pages selected for the application.
* @property domain The primary hostname and path that Access will secure. If the app is visible in the App Launcher dashboard, this is the domain that will be displayed.
* @property enableBindingCookie Option to provide increased security against compromised authorization tokens and CSRF attacks by requiring an additional "binding" cookie on requests. Defaults to `false`.
* @property footerLinks The footer links of the app launcher.
* @property headerBgColor The background color of the header bar in the app launcher.
* @property httpOnlyCookieAttribute Option to add the `HttpOnly` cookie flag to access tokens.
* @property landingPageDesign The landing page design of the app launcher.
* @property logoUrl Image URL for the logo shown in the app launcher dashboard.
* @property name Friendly name of the Access Application.
* @property optionsPreflightBypass Allows options preflight requests to bypass Access authentication and go directly to the origin. Cannot turn on if cors_headers is set. Defaults to `false`.
* @property policies The policies associated with the application, in ascending order of precedence. Warning: Do not use this field while you still have this application ID referenced as `application_id` in any `cloudflare.AccessPolicy` resource, as it can result in an inconsistent state.
* @property saasApp SaaS configuration for the Access Application.
* @property sameSiteCookieAttribute Defines the same-site cookie setting for access tokens. Available values: `none`, `lax`, `strict`.
* @property scimConfig Configuration for provisioning to this application via SCIM. This is currently in closed beta.
* @property selfHostedDomains List of domains that access will secure. Only present for self_hosted, vnc, and ssh applications. Always includes the value set as `domain`.
* @property serviceAuth401Redirect Option to return a 401 status code in service authentication rules on failed requests. Defaults to `false`.
* @property sessionDuration How often a user will be forced to re-authorise. Must be in the format `48h` or `2h45m`. Defaults to `24h`.
* @property skipAppLauncherLoginPage Option to skip the App Launcher landing page. Defaults to `false`.
* @property skipInterstitial Option to skip the authorization interstitial when using the CLI. Defaults to `false`.
* @property tags The itags associated with the application.
* @property targetCriterias A list of mappings to apply to SCIM resources before provisioning them in this application. These can transform or filter the resources to be provisioned.
* @property type The application type. Available values: `app_launcher`, `bookmark`, `biso`, `dash_sso`, `saas`, `self_hosted`, `ssh`, `vnc`, `warp`, `infrastructure`. Defaults to `self_hosted`.
* @property zoneId The zone identifier to target for the resource. Conflicts with `account_id`.
*/
public data class ZeroTrustAccessApplicationArgs(
public val accountId: Output? = null,
public val allowAuthenticateViaWarp: Output? = null,
public val allowedIdps: Output>? = null,
public val appLauncherLogoUrl: Output? = null,
public val appLauncherVisible: Output? = null,
public val autoRedirectToIdentity: Output? = null,
public val bgColor: Output? = null,
public val corsHeaders: Output>? = null,
public val customDenyMessage: Output? = null,
public val customDenyUrl: Output? = null,
public val customNonIdentityDenyUrl: Output? = null,
public val customPages: Output>? = null,
public val domain: Output? = null,
public val enableBindingCookie: Output? = null,
public val footerLinks: Output>? = null,
public val headerBgColor: Output? = null,
public val httpOnlyCookieAttribute: Output? = null,
public val landingPageDesign: Output? = null,
public val logoUrl: Output? = null,
public val name: Output? = null,
public val optionsPreflightBypass: Output? = null,
public val policies: Output>? = null,
public val saasApp: Output? = null,
public val sameSiteCookieAttribute: Output? = null,
public val scimConfig: Output? = null,
public val selfHostedDomains: Output>? = null,
public val serviceAuth401Redirect: Output? = null,
public val sessionDuration: Output? = null,
public val skipAppLauncherLoginPage: Output? = null,
public val skipInterstitial: Output? = null,
public val tags: Output>? = null,
public val targetCriterias: Output>? = null,
public val type: Output? = null,
public val zoneId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.cloudflare.ZeroTrustAccessApplicationArgs =
com.pulumi.cloudflare.ZeroTrustAccessApplicationArgs.builder()
.accountId(accountId?.applyValue({ args0 -> args0 }))
.allowAuthenticateViaWarp(allowAuthenticateViaWarp?.applyValue({ args0 -> args0 }))
.allowedIdps(allowedIdps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.appLauncherLogoUrl(appLauncherLogoUrl?.applyValue({ args0 -> args0 }))
.appLauncherVisible(appLauncherVisible?.applyValue({ args0 -> args0 }))
.autoRedirectToIdentity(autoRedirectToIdentity?.applyValue({ args0 -> args0 }))
.bgColor(bgColor?.applyValue({ args0 -> args0 }))
.corsHeaders(
corsHeaders?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.customDenyMessage(customDenyMessage?.applyValue({ args0 -> args0 }))
.customDenyUrl(customDenyUrl?.applyValue({ args0 -> args0 }))
.customNonIdentityDenyUrl(customNonIdentityDenyUrl?.applyValue({ args0 -> args0 }))
.customPages(customPages?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.domain(domain?.applyValue({ args0 -> args0 }))
.enableBindingCookie(enableBindingCookie?.applyValue({ args0 -> args0 }))
.footerLinks(
footerLinks?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.headerBgColor(headerBgColor?.applyValue({ args0 -> args0 }))
.httpOnlyCookieAttribute(httpOnlyCookieAttribute?.applyValue({ args0 -> args0 }))
.landingPageDesign(landingPageDesign?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.logoUrl(logoUrl?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.optionsPreflightBypass(optionsPreflightBypass?.applyValue({ args0 -> args0 }))
.policies(policies?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.saasApp(saasApp?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sameSiteCookieAttribute(sameSiteCookieAttribute?.applyValue({ args0 -> args0 }))
.scimConfig(scimConfig?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.selfHostedDomains(selfHostedDomains?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.serviceAuth401Redirect(serviceAuth401Redirect?.applyValue({ args0 -> args0 }))
.sessionDuration(sessionDuration?.applyValue({ args0 -> args0 }))
.skipAppLauncherLoginPage(skipAppLauncherLoginPage?.applyValue({ args0 -> args0 }))
.skipInterstitial(skipInterstitial?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.targetCriterias(
targetCriterias?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.type(type?.applyValue({ args0 -> args0 }))
.zoneId(zoneId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ZeroTrustAccessApplicationArgs].
*/
@PulumiTagMarker
public class ZeroTrustAccessApplicationArgsBuilder internal constructor() {
private var accountId: Output? = null
private var allowAuthenticateViaWarp: Output? = null
private var allowedIdps: Output>? = null
private var appLauncherLogoUrl: Output? = null
private var appLauncherVisible: Output? = null
private var autoRedirectToIdentity: Output? = null
private var bgColor: Output? = null
private var corsHeaders: Output>? = null
private var customDenyMessage: Output? = null
private var customDenyUrl: Output? = null
private var customNonIdentityDenyUrl: Output? = null
private var customPages: Output>? = null
private var domain: Output? = null
private var enableBindingCookie: Output? = null
private var footerLinks: Output>? = null
private var headerBgColor: Output? = null
private var httpOnlyCookieAttribute: Output? = null
private var landingPageDesign: Output? = null
private var logoUrl: Output? = null
private var name: Output? = null
private var optionsPreflightBypass: Output? = null
private var policies: Output>? = null
private var saasApp: Output? = null
private var sameSiteCookieAttribute: Output? = null
private var scimConfig: Output? = null
private var selfHostedDomains: Output>? = null
private var serviceAuth401Redirect: Output? = null
private var sessionDuration: Output? = null
private var skipAppLauncherLoginPage: Output? = null
private var skipInterstitial: Output? = null
private var tags: Output>? = null
private var targetCriterias: Output>? = null
private var type: Output? = null
private var zoneId: Output? = null
/**
* @param value The account identifier to target for the resource. Conflicts with `zone_id`.
*/
@JvmName("ddxlcvmtemuxcyfb")
public suspend fun accountId(`value`: Output) {
this.accountId = value
}
/**
* @param value When set to true, users can authenticate to this application using their WARP session. When set to false this application will always require direct IdP authentication. This setting always overrides the organization setting for WARP authentication.
*/
@JvmName("mqnrvmefandafdkc")
public suspend fun allowAuthenticateViaWarp(`value`: Output) {
this.allowAuthenticateViaWarp = value
}
/**
* @param value The identity providers selected for the application.
*/
@JvmName("lgcwytehhjsxdjef")
public suspend fun allowedIdps(`value`: Output>) {
this.allowedIdps = value
}
@JvmName("cveswwracoqoafgf")
public suspend fun allowedIdps(vararg values: Output) {
this.allowedIdps = Output.all(values.asList())
}
/**
* @param values The identity providers selected for the application.
*/
@JvmName("edfvottsvypplrkb")
public suspend fun allowedIdps(values: List