com.pulumi.azure.appservice.outputs.WindowsWebAppAuthSettingsV2ActiveDirectoryV2 Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** 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.azure.appservice.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class WindowsWebAppAuthSettingsV2ActiveDirectoryV2 {
/**
* @return The list of allowed Applications for the Default Authorisation Policy.
*
*/
private @Nullable List allowedApplications;
/**
* @return Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
*
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*
*/
private @Nullable List allowedAudiences;
/**
* @return The list of allowed Group Names for the Default Authorisation Policy.
*
*/
private @Nullable List allowedGroups;
/**
* @return The list of allowed Identities for the Default Authorisation Policy.
*
*/
private @Nullable List allowedIdentities;
/**
* @return The ID of the Client to use to authenticate with Azure Active Directory.
*
*/
private String clientId;
/**
* @return The thumbprint of the certificate used for signing purposes.
*
*/
private @Nullable String clientSecretCertificateThumbprint;
/**
* @return The App Setting name that contains the client secret of the Client.
*
* !> **NOTE:** A setting with this name must exist in `app_settings` to function correctly.
*
*/
private @Nullable String clientSecretSettingName;
/**
* @return A list of Allowed Client Applications in the JWT Claim.
*
*/
private @Nullable List jwtAllowedClientApplications;
/**
* @return A list of Allowed Groups in the JWT Claim.
*
*/
private @Nullable List jwtAllowedGroups;
/**
* @return A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*
*/
private @Nullable Map loginParameters;
/**
* @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`
*
* > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.
*
*/
private String tenantAuthEndpoint;
/**
* @return Should the www-authenticate provider should be omitted from the request? Defaults to `false`.
*
*/
private @Nullable Boolean wwwAuthenticationDisabled;
private WindowsWebAppAuthSettingsV2ActiveDirectoryV2() {}
/**
* @return The list of allowed Applications for the Default Authorisation Policy.
*
*/
public List allowedApplications() {
return this.allowedApplications == null ? List.of() : this.allowedApplications;
}
/**
* @return Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
*
* > **NOTE:** This is configured on the Authentication Provider side and is Read Only here.
*
*/
public List allowedAudiences() {
return this.allowedAudiences == null ? List.of() : this.allowedAudiences;
}
/**
* @return The list of allowed Group Names for the Default Authorisation Policy.
*
*/
public List allowedGroups() {
return this.allowedGroups == null ? List.of() : this.allowedGroups;
}
/**
* @return The list of allowed Identities for the Default Authorisation Policy.
*
*/
public List allowedIdentities() {
return this.allowedIdentities == null ? List.of() : this.allowedIdentities;
}
/**
* @return The ID of the Client to use to authenticate with Azure Active Directory.
*
*/
public String clientId() {
return this.clientId;
}
/**
* @return The thumbprint of the certificate used for signing purposes.
*
*/
public Optional clientSecretCertificateThumbprint() {
return Optional.ofNullable(this.clientSecretCertificateThumbprint);
}
/**
* @return The App Setting name that contains the client secret of the Client.
*
* !> **NOTE:** A setting with this name must exist in `app_settings` to function correctly.
*
*/
public Optional clientSecretSettingName() {
return Optional.ofNullable(this.clientSecretSettingName);
}
/**
* @return A list of Allowed Client Applications in the JWT Claim.
*
*/
public List jwtAllowedClientApplications() {
return this.jwtAllowedClientApplications == null ? List.of() : this.jwtAllowedClientApplications;
}
/**
* @return A list of Allowed Groups in the JWT Claim.
*
*/
public List jwtAllowedGroups() {
return this.jwtAllowedGroups == null ? List.of() : this.jwtAllowedGroups;
}
/**
* @return A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*
*/
public Map loginParameters() {
return this.loginParameters == null ? Map.of() : this.loginParameters;
}
/**
* @return The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/{tenant-guid}/v2.0/`
*
* > **NOTE:** [Here](https://learn.microsoft.com/en-us/entra/identity-platform/authentication-national-cloud#microsoft-entra-authentication-endpoints) is a list of possible authentication endpoints based on the cloud environment. [Here](https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-aad?tabs=workforce-tenant) is more information to better understand how to configure authentication for Azure App Service or Azure Functions.
*
*/
public String tenantAuthEndpoint() {
return this.tenantAuthEndpoint;
}
/**
* @return Should the www-authenticate provider should be omitted from the request? Defaults to `false`.
*
*/
public Optional wwwAuthenticationDisabled() {
return Optional.ofNullable(this.wwwAuthenticationDisabled);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(WindowsWebAppAuthSettingsV2ActiveDirectoryV2 defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List allowedApplications;
private @Nullable List allowedAudiences;
private @Nullable List allowedGroups;
private @Nullable List allowedIdentities;
private String clientId;
private @Nullable String clientSecretCertificateThumbprint;
private @Nullable String clientSecretSettingName;
private @Nullable List jwtAllowedClientApplications;
private @Nullable List jwtAllowedGroups;
private @Nullable Map loginParameters;
private String tenantAuthEndpoint;
private @Nullable Boolean wwwAuthenticationDisabled;
public Builder() {}
public Builder(WindowsWebAppAuthSettingsV2ActiveDirectoryV2 defaults) {
Objects.requireNonNull(defaults);
this.allowedApplications = defaults.allowedApplications;
this.allowedAudiences = defaults.allowedAudiences;
this.allowedGroups = defaults.allowedGroups;
this.allowedIdentities = defaults.allowedIdentities;
this.clientId = defaults.clientId;
this.clientSecretCertificateThumbprint = defaults.clientSecretCertificateThumbprint;
this.clientSecretSettingName = defaults.clientSecretSettingName;
this.jwtAllowedClientApplications = defaults.jwtAllowedClientApplications;
this.jwtAllowedGroups = defaults.jwtAllowedGroups;
this.loginParameters = defaults.loginParameters;
this.tenantAuthEndpoint = defaults.tenantAuthEndpoint;
this.wwwAuthenticationDisabled = defaults.wwwAuthenticationDisabled;
}
@CustomType.Setter
public Builder allowedApplications(@Nullable List allowedApplications) {
this.allowedApplications = allowedApplications;
return this;
}
public Builder allowedApplications(String... allowedApplications) {
return allowedApplications(List.of(allowedApplications));
}
@CustomType.Setter
public Builder allowedAudiences(@Nullable List allowedAudiences) {
this.allowedAudiences = allowedAudiences;
return this;
}
public Builder allowedAudiences(String... allowedAudiences) {
return allowedAudiences(List.of(allowedAudiences));
}
@CustomType.Setter
public Builder allowedGroups(@Nullable List allowedGroups) {
this.allowedGroups = allowedGroups;
return this;
}
public Builder allowedGroups(String... allowedGroups) {
return allowedGroups(List.of(allowedGroups));
}
@CustomType.Setter
public Builder allowedIdentities(@Nullable List allowedIdentities) {
this.allowedIdentities = allowedIdentities;
return this;
}
public Builder allowedIdentities(String... allowedIdentities) {
return allowedIdentities(List.of(allowedIdentities));
}
@CustomType.Setter
public Builder clientId(String clientId) {
if (clientId == null) {
throw new MissingRequiredPropertyException("WindowsWebAppAuthSettingsV2ActiveDirectoryV2", "clientId");
}
this.clientId = clientId;
return this;
}
@CustomType.Setter
public Builder clientSecretCertificateThumbprint(@Nullable String clientSecretCertificateThumbprint) {
this.clientSecretCertificateThumbprint = clientSecretCertificateThumbprint;
return this;
}
@CustomType.Setter
public Builder clientSecretSettingName(@Nullable String clientSecretSettingName) {
this.clientSecretSettingName = clientSecretSettingName;
return this;
}
@CustomType.Setter
public Builder jwtAllowedClientApplications(@Nullable List jwtAllowedClientApplications) {
this.jwtAllowedClientApplications = jwtAllowedClientApplications;
return this;
}
public Builder jwtAllowedClientApplications(String... jwtAllowedClientApplications) {
return jwtAllowedClientApplications(List.of(jwtAllowedClientApplications));
}
@CustomType.Setter
public Builder jwtAllowedGroups(@Nullable List jwtAllowedGroups) {
this.jwtAllowedGroups = jwtAllowedGroups;
return this;
}
public Builder jwtAllowedGroups(String... jwtAllowedGroups) {
return jwtAllowedGroups(List.of(jwtAllowedGroups));
}
@CustomType.Setter
public Builder loginParameters(@Nullable Map loginParameters) {
this.loginParameters = loginParameters;
return this;
}
@CustomType.Setter
public Builder tenantAuthEndpoint(String tenantAuthEndpoint) {
if (tenantAuthEndpoint == null) {
throw new MissingRequiredPropertyException("WindowsWebAppAuthSettingsV2ActiveDirectoryV2", "tenantAuthEndpoint");
}
this.tenantAuthEndpoint = tenantAuthEndpoint;
return this;
}
@CustomType.Setter
public Builder wwwAuthenticationDisabled(@Nullable Boolean wwwAuthenticationDisabled) {
this.wwwAuthenticationDisabled = wwwAuthenticationDisabled;
return this;
}
public WindowsWebAppAuthSettingsV2ActiveDirectoryV2 build() {
final var _resultValue = new WindowsWebAppAuthSettingsV2ActiveDirectoryV2();
_resultValue.allowedApplications = allowedApplications;
_resultValue.allowedAudiences = allowedAudiences;
_resultValue.allowedGroups = allowedGroups;
_resultValue.allowedIdentities = allowedIdentities;
_resultValue.clientId = clientId;
_resultValue.clientSecretCertificateThumbprint = clientSecretCertificateThumbprint;
_resultValue.clientSecretSettingName = clientSecretSettingName;
_resultValue.jwtAllowedClientApplications = jwtAllowedClientApplications;
_resultValue.jwtAllowedGroups = jwtAllowedGroups;
_resultValue.loginParameters = loginParameters;
_resultValue.tenantAuthEndpoint = tenantAuthEndpoint;
_resultValue.wwwAuthenticationDisabled = wwwAuthenticationDisabled;
return _resultValue;
}
}
}