Please wait. This can take some minutes ...
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.
com.pulumi.cloudflare.AccessApplicationArgs Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.cloudflare;
import com.pulumi.cloudflare.inputs.AccessApplicationCorsHeaderArgs;
import com.pulumi.cloudflare.inputs.AccessApplicationSaasAppArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class AccessApplicationArgs extends com.pulumi.resources.ResourceArgs {
public static final AccessApplicationArgs Empty = new AccessApplicationArgs();
/**
* The account identifier to target for the resource. Conflicts with `zone_id`.
*
*/
@Import(name="accountId")
private @Nullable Output accountId;
/**
* @return The account identifier to target for the resource. Conflicts with `zone_id`.
*
*/
public Optional> accountId() {
return Optional.ofNullable(this.accountId);
}
/**
* The identity providers selected for the application.
*
*/
@Import(name="allowedIdps")
private @Nullable Output> allowedIdps;
/**
* @return The identity providers selected for the application.
*
*/
public Optional>> allowedIdps() {
return Optional.ofNullable(this.allowedIdps);
}
/**
* Option to show/hide applications in App Launcher. Defaults to `true`.
*
*/
@Import(name="appLauncherVisible")
private @Nullable Output appLauncherVisible;
/**
* @return Option to show/hide applications in App Launcher. Defaults to `true`.
*
*/
public Optional> appLauncherVisible() {
return Optional.ofNullable(this.appLauncherVisible);
}
/**
* Option to skip identity provider selection if only one is configured in `allowed_idps`. Defaults to `false`.
*
*/
@Import(name="autoRedirectToIdentity")
private @Nullable Output autoRedirectToIdentity;
/**
* @return Option to skip identity provider selection if only one is configured in `allowed_idps`. Defaults to `false`.
*
*/
public Optional> autoRedirectToIdentity() {
return Optional.ofNullable(this.autoRedirectToIdentity);
}
/**
* CORS configuration for the Access Application. See below for reference structure.
*
*/
@Import(name="corsHeaders")
private @Nullable Output> corsHeaders;
/**
* @return CORS configuration for the Access Application. See below for reference structure.
*
*/
public Optional>> corsHeaders() {
return Optional.ofNullable(this.corsHeaders);
}
/**
* Option that returns a custom error message when a user is denied access to the application.
*
*/
@Import(name="customDenyMessage")
private @Nullable Output customDenyMessage;
/**
* @return Option that returns a custom error message when a user is denied access to the application.
*
*/
public Optional> customDenyMessage() {
return Optional.ofNullable(this.customDenyMessage);
}
/**
* Option that redirects to a custom URL when a user is denied access to the application.
*
*/
@Import(name="customDenyUrl")
private @Nullable Output customDenyUrl;
/**
* @return Option that redirects to a custom URL when a user is denied access to the application.
*
*/
public Optional> customDenyUrl() {
return Optional.ofNullable(this.customDenyUrl);
}
/**
* The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.
*
*/
@Import(name="domain")
private @Nullable Output domain;
/**
* @return The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.
*
*/
public Optional> domain() {
return Optional.ofNullable(this.domain);
}
/**
* Option to provide increased security against compromised authorization tokens and CSRF attacks by requiring an additional "binding" cookie on requests. Defaults to `false`.
*
*/
@Import(name="enableBindingCookie")
private @Nullable Output enableBindingCookie;
/**
* @return Option to provide increased security against compromised authorization tokens and CSRF attacks by requiring an additional "binding" cookie on requests. Defaults to `false`.
*
*/
public Optional> enableBindingCookie() {
return Optional.ofNullable(this.enableBindingCookie);
}
/**
* Option to add the `HttpOnly` cookie flag to access tokens.
*
*/
@Import(name="httpOnlyCookieAttribute")
private @Nullable Output httpOnlyCookieAttribute;
/**
* @return Option to add the `HttpOnly` cookie flag to access tokens.
*
*/
public Optional> httpOnlyCookieAttribute() {
return Optional.ofNullable(this.httpOnlyCookieAttribute);
}
/**
* Image URL for the logo shown in the app launcher dashboard.
*
*/
@Import(name="logoUrl")
private @Nullable Output logoUrl;
/**
* @return Image URL for the logo shown in the app launcher dashboard.
*
*/
public Optional> logoUrl() {
return Optional.ofNullable(this.logoUrl);
}
/**
* Friendly name of the Access Application.
*
*/
@Import(name="name", required=true)
private Output name;
/**
* @return Friendly name of the Access Application.
*
*/
public Output name() {
return this.name;
}
/**
* SaaS configuration for the Access Application.
*
*/
@Import(name="saasApp")
private @Nullable Output saasApp;
/**
* @return SaaS configuration for the Access Application.
*
*/
public Optional> saasApp() {
return Optional.ofNullable(this.saasApp);
}
/**
* Defines the same-site cookie setting for access tokens. Available values: `none`, `lax`, `strict`.
*
*/
@Import(name="sameSiteCookieAttribute")
private @Nullable Output sameSiteCookieAttribute;
/**
* @return Defines the same-site cookie setting for access tokens. Available values: `none`, `lax`, `strict`.
*
*/
public Optional> sameSiteCookieAttribute() {
return Optional.ofNullable(this.sameSiteCookieAttribute);
}
/**
* Option to return a 401 status code in service authentication rules on failed requests. Defaults to `false`.
*
*/
@Import(name="serviceAuth401Redirect")
private @Nullable Output serviceAuth401Redirect;
/**
* @return Option to return a 401 status code in service authentication rules on failed requests. Defaults to `false`.
*
*/
public Optional> serviceAuth401Redirect() {
return Optional.ofNullable(this.serviceAuth401Redirect);
}
/**
* How often a user will be forced to re-authorise. Must be in the format `48h` or `2h45m`. Defaults to `24h`.
*
*/
@Import(name="sessionDuration")
private @Nullable Output sessionDuration;
/**
* @return How often a user will be forced to re-authorise. Must be in the format `48h` or `2h45m`. Defaults to `24h`.
*
*/
public Optional> sessionDuration() {
return Optional.ofNullable(this.sessionDuration);
}
/**
* Option to skip the authorization interstitial when using the CLI. Defaults to `false`.
*
*/
@Import(name="skipInterstitial")
private @Nullable Output skipInterstitial;
/**
* @return Option to skip the authorization interstitial when using the CLI. Defaults to `false`.
*
*/
public Optional> skipInterstitial() {
return Optional.ofNullable(this.skipInterstitial);
}
/**
* The application type. Available values: `app_launcher`, `bookmark`, `biso`, `dash_sso`, `saas`, `self_hosted`, `ssh`, `vnc`, `warp`. Defaults to `self_hosted`.
*
*/
@Import(name="type")
private @Nullable Output type;
/**
* @return The application type. Available values: `app_launcher`, `bookmark`, `biso`, `dash_sso`, `saas`, `self_hosted`, `ssh`, `vnc`, `warp`. Defaults to `self_hosted`.
*
*/
public Optional> type() {
return Optional.ofNullable(this.type);
}
/**
* The zone identifier to target for the resource. Conflicts with `account_id`.
*
*/
@Import(name="zoneId")
private @Nullable Output zoneId;
/**
* @return The zone identifier to target for the resource. Conflicts with `account_id`.
*
*/
public Optional> zoneId() {
return Optional.ofNullable(this.zoneId);
}
private AccessApplicationArgs() {}
private AccessApplicationArgs(AccessApplicationArgs $) {
this.accountId = $.accountId;
this.allowedIdps = $.allowedIdps;
this.appLauncherVisible = $.appLauncherVisible;
this.autoRedirectToIdentity = $.autoRedirectToIdentity;
this.corsHeaders = $.corsHeaders;
this.customDenyMessage = $.customDenyMessage;
this.customDenyUrl = $.customDenyUrl;
this.domain = $.domain;
this.enableBindingCookie = $.enableBindingCookie;
this.httpOnlyCookieAttribute = $.httpOnlyCookieAttribute;
this.logoUrl = $.logoUrl;
this.name = $.name;
this.saasApp = $.saasApp;
this.sameSiteCookieAttribute = $.sameSiteCookieAttribute;
this.serviceAuth401Redirect = $.serviceAuth401Redirect;
this.sessionDuration = $.sessionDuration;
this.skipInterstitial = $.skipInterstitial;
this.type = $.type;
this.zoneId = $.zoneId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AccessApplicationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private AccessApplicationArgs $;
public Builder() {
$ = new AccessApplicationArgs();
}
public Builder(AccessApplicationArgs defaults) {
$ = new AccessApplicationArgs(Objects.requireNonNull(defaults));
}
/**
* @param accountId The account identifier to target for the resource. Conflicts with `zone_id`.
*
* @return builder
*
*/
public Builder accountId(@Nullable Output accountId) {
$.accountId = accountId;
return this;
}
/**
* @param accountId The account identifier to target for the resource. Conflicts with `zone_id`.
*
* @return builder
*
*/
public Builder accountId(String accountId) {
return accountId(Output.of(accountId));
}
/**
* @param allowedIdps The identity providers selected for the application.
*
* @return builder
*
*/
public Builder allowedIdps(@Nullable Output> allowedIdps) {
$.allowedIdps = allowedIdps;
return this;
}
/**
* @param allowedIdps The identity providers selected for the application.
*
* @return builder
*
*/
public Builder allowedIdps(List allowedIdps) {
return allowedIdps(Output.of(allowedIdps));
}
/**
* @param allowedIdps The identity providers selected for the application.
*
* @return builder
*
*/
public Builder allowedIdps(String... allowedIdps) {
return allowedIdps(List.of(allowedIdps));
}
/**
* @param appLauncherVisible Option to show/hide applications in App Launcher. Defaults to `true`.
*
* @return builder
*
*/
public Builder appLauncherVisible(@Nullable Output appLauncherVisible) {
$.appLauncherVisible = appLauncherVisible;
return this;
}
/**
* @param appLauncherVisible Option to show/hide applications in App Launcher. Defaults to `true`.
*
* @return builder
*
*/
public Builder appLauncherVisible(Boolean appLauncherVisible) {
return appLauncherVisible(Output.of(appLauncherVisible));
}
/**
* @param autoRedirectToIdentity Option to skip identity provider selection if only one is configured in `allowed_idps`. Defaults to `false`.
*
* @return builder
*
*/
public Builder autoRedirectToIdentity(@Nullable Output autoRedirectToIdentity) {
$.autoRedirectToIdentity = autoRedirectToIdentity;
return this;
}
/**
* @param autoRedirectToIdentity Option to skip identity provider selection if only one is configured in `allowed_idps`. Defaults to `false`.
*
* @return builder
*
*/
public Builder autoRedirectToIdentity(Boolean autoRedirectToIdentity) {
return autoRedirectToIdentity(Output.of(autoRedirectToIdentity));
}
/**
* @param corsHeaders CORS configuration for the Access Application. See below for reference structure.
*
* @return builder
*
*/
public Builder corsHeaders(@Nullable Output> corsHeaders) {
$.corsHeaders = corsHeaders;
return this;
}
/**
* @param corsHeaders CORS configuration for the Access Application. See below for reference structure.
*
* @return builder
*
*/
public Builder corsHeaders(List corsHeaders) {
return corsHeaders(Output.of(corsHeaders));
}
/**
* @param corsHeaders CORS configuration for the Access Application. See below for reference structure.
*
* @return builder
*
*/
public Builder corsHeaders(AccessApplicationCorsHeaderArgs... corsHeaders) {
return corsHeaders(List.of(corsHeaders));
}
/**
* @param customDenyMessage Option that returns a custom error message when a user is denied access to the application.
*
* @return builder
*
*/
public Builder customDenyMessage(@Nullable Output customDenyMessage) {
$.customDenyMessage = customDenyMessage;
return this;
}
/**
* @param customDenyMessage Option that returns a custom error message when a user is denied access to the application.
*
* @return builder
*
*/
public Builder customDenyMessage(String customDenyMessage) {
return customDenyMessage(Output.of(customDenyMessage));
}
/**
* @param customDenyUrl Option that redirects to a custom URL when a user is denied access to the application.
*
* @return builder
*
*/
public Builder customDenyUrl(@Nullable Output customDenyUrl) {
$.customDenyUrl = customDenyUrl;
return this;
}
/**
* @param customDenyUrl Option that redirects to a custom URL when a user is denied access to the application.
*
* @return builder
*
*/
public Builder customDenyUrl(String customDenyUrl) {
return customDenyUrl(Output.of(customDenyUrl));
}
/**
* @param domain The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.
*
* @return builder
*
*/
public Builder domain(@Nullable Output domain) {
$.domain = domain;
return this;
}
/**
* @param domain The complete URL of the asset you wish to put Cloudflare Access in front of. Can include subdomains or paths. Or both.
*
* @return builder
*
*/
public Builder domain(String domain) {
return domain(Output.of(domain));
}
/**
* @param enableBindingCookie Option to provide increased security against compromised authorization tokens and CSRF attacks by requiring an additional "binding" cookie on requests. Defaults to `false`.
*
* @return builder
*
*/
public Builder enableBindingCookie(@Nullable Output enableBindingCookie) {
$.enableBindingCookie = enableBindingCookie;
return this;
}
/**
* @param enableBindingCookie Option to provide increased security against compromised authorization tokens and CSRF attacks by requiring an additional "binding" cookie on requests. Defaults to `false`.
*
* @return builder
*
*/
public Builder enableBindingCookie(Boolean enableBindingCookie) {
return enableBindingCookie(Output.of(enableBindingCookie));
}
/**
* @param httpOnlyCookieAttribute Option to add the `HttpOnly` cookie flag to access tokens.
*
* @return builder
*
*/
public Builder httpOnlyCookieAttribute(@Nullable Output httpOnlyCookieAttribute) {
$.httpOnlyCookieAttribute = httpOnlyCookieAttribute;
return this;
}
/**
* @param httpOnlyCookieAttribute Option to add the `HttpOnly` cookie flag to access tokens.
*
* @return builder
*
*/
public Builder httpOnlyCookieAttribute(Boolean httpOnlyCookieAttribute) {
return httpOnlyCookieAttribute(Output.of(httpOnlyCookieAttribute));
}
/**
* @param logoUrl Image URL for the logo shown in the app launcher dashboard.
*
* @return builder
*
*/
public Builder logoUrl(@Nullable Output logoUrl) {
$.logoUrl = logoUrl;
return this;
}
/**
* @param logoUrl Image URL for the logo shown in the app launcher dashboard.
*
* @return builder
*
*/
public Builder logoUrl(String logoUrl) {
return logoUrl(Output.of(logoUrl));
}
/**
* @param name Friendly name of the Access Application.
*
* @return builder
*
*/
public Builder name(Output name) {
$.name = name;
return this;
}
/**
* @param name Friendly name of the Access Application.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param saasApp SaaS configuration for the Access Application.
*
* @return builder
*
*/
public Builder saasApp(@Nullable Output saasApp) {
$.saasApp = saasApp;
return this;
}
/**
* @param saasApp SaaS configuration for the Access Application.
*
* @return builder
*
*/
public Builder saasApp(AccessApplicationSaasAppArgs saasApp) {
return saasApp(Output.of(saasApp));
}
/**
* @param sameSiteCookieAttribute Defines the same-site cookie setting for access tokens. Available values: `none`, `lax`, `strict`.
*
* @return builder
*
*/
public Builder sameSiteCookieAttribute(@Nullable Output sameSiteCookieAttribute) {
$.sameSiteCookieAttribute = sameSiteCookieAttribute;
return this;
}
/**
* @param sameSiteCookieAttribute Defines the same-site cookie setting for access tokens. Available values: `none`, `lax`, `strict`.
*
* @return builder
*
*/
public Builder sameSiteCookieAttribute(String sameSiteCookieAttribute) {
return sameSiteCookieAttribute(Output.of(sameSiteCookieAttribute));
}
/**
* @param serviceAuth401Redirect Option to return a 401 status code in service authentication rules on failed requests. Defaults to `false`.
*
* @return builder
*
*/
public Builder serviceAuth401Redirect(@Nullable Output serviceAuth401Redirect) {
$.serviceAuth401Redirect = serviceAuth401Redirect;
return this;
}
/**
* @param serviceAuth401Redirect Option to return a 401 status code in service authentication rules on failed requests. Defaults to `false`.
*
* @return builder
*
*/
public Builder serviceAuth401Redirect(Boolean serviceAuth401Redirect) {
return serviceAuth401Redirect(Output.of(serviceAuth401Redirect));
}
/**
* @param sessionDuration How often a user will be forced to re-authorise. Must be in the format `48h` or `2h45m`. Defaults to `24h`.
*
* @return builder
*
*/
public Builder sessionDuration(@Nullable Output sessionDuration) {
$.sessionDuration = sessionDuration;
return this;
}
/**
* @param sessionDuration How often a user will be forced to re-authorise. Must be in the format `48h` or `2h45m`. Defaults to `24h`.
*
* @return builder
*
*/
public Builder sessionDuration(String sessionDuration) {
return sessionDuration(Output.of(sessionDuration));
}
/**
* @param skipInterstitial Option to skip the authorization interstitial when using the CLI. Defaults to `false`.
*
* @return builder
*
*/
public Builder skipInterstitial(@Nullable Output skipInterstitial) {
$.skipInterstitial = skipInterstitial;
return this;
}
/**
* @param skipInterstitial Option to skip the authorization interstitial when using the CLI. Defaults to `false`.
*
* @return builder
*
*/
public Builder skipInterstitial(Boolean skipInterstitial) {
return skipInterstitial(Output.of(skipInterstitial));
}
/**
* @param type The application type. Available values: `app_launcher`, `bookmark`, `biso`, `dash_sso`, `saas`, `self_hosted`, `ssh`, `vnc`, `warp`. Defaults to `self_hosted`.
*
* @return builder
*
*/
public Builder type(@Nullable Output type) {
$.type = type;
return this;
}
/**
* @param type The application type. Available values: `app_launcher`, `bookmark`, `biso`, `dash_sso`, `saas`, `self_hosted`, `ssh`, `vnc`, `warp`. Defaults to `self_hosted`.
*
* @return builder
*
*/
public Builder type(String type) {
return type(Output.of(type));
}
/**
* @param zoneId The zone identifier to target for the resource. Conflicts with `account_id`.
*
* @return builder
*
*/
public Builder zoneId(@Nullable Output zoneId) {
$.zoneId = zoneId;
return this;
}
/**
* @param zoneId The zone identifier to target for the resource. Conflicts with `account_id`.
*
* @return builder
*
*/
public Builder zoneId(String zoneId) {
return zoneId(Output.of(zoneId));
}
public AccessApplicationArgs build() {
$.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null");
return $;
}
}
}