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.azuread.ApplicationArgs 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.azuread;
import com.pulumi.azuread.inputs.ApplicationApiArgs;
import com.pulumi.azuread.inputs.ApplicationAppRoleArgs;
import com.pulumi.azuread.inputs.ApplicationFeatureTagArgs;
import com.pulumi.azuread.inputs.ApplicationOptionalClaimsArgs;
import com.pulumi.azuread.inputs.ApplicationPasswordArgs;
import com.pulumi.azuread.inputs.ApplicationPublicClientArgs;
import com.pulumi.azuread.inputs.ApplicationRequiredResourceAccessArgs;
import com.pulumi.azuread.inputs.ApplicationSinglePageApplicationArgs;
import com.pulumi.azuread.inputs.ApplicationWebArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 ApplicationArgs extends com.pulumi.resources.ResourceArgs {
public static final ApplicationArgs Empty = new ApplicationArgs();
/**
* An `api` block as documented below, which configures API related settings for this application.
*
*/
@Import(name="api")
private @Nullable Output api;
/**
* @return An `api` block as documented below, which configures API related settings for this application.
*
*/
public Optional> api() {
return Optional.ofNullable(this.api);
}
/**
* A collection of `app_role` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles).
*
*/
@Import(name="appRoles")
private @Nullable Output> appRoles;
/**
* @return A collection of `app_role` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles).
*
*/
public Optional>> appRoles() {
return Optional.ofNullable(this.appRoles);
}
/**
* A description of the application, as shown to end users.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return A description of the application, as shown to end users.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Specifies whether this application supports device authentication without a user. Defaults to `false`.
*
*/
@Import(name="deviceOnlyAuthEnabled")
private @Nullable Output deviceOnlyAuthEnabled;
/**
* @return Specifies whether this application supports device authentication without a user. Defaults to `false`.
*
*/
public Optional> deviceOnlyAuthEnabled() {
return Optional.ofNullable(this.deviceOnlyAuthEnabled);
}
/**
* The display name for the application.
*
*/
@Import(name="displayName", required=true)
private Output displayName;
/**
* @return The display name for the application.
*
*/
public Output displayName() {
return this.displayName;
}
/**
* Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI. Defaults to `false`.
*
*/
@Import(name="fallbackPublicClientEnabled")
private @Nullable Output fallbackPublicClientEnabled;
/**
* @return Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI. Defaults to `false`.
*
*/
public Optional> fallbackPublicClientEnabled() {
return Optional.ofNullable(this.fallbackPublicClientEnabled);
}
/**
* A `feature_tags` block as described below. Cannot be used together with the `tags` property.
*
* > **Features and Tags** Features are configured for an application using tags, and are provided as a shortcut to set the corresponding magic tag value for each feature. You cannot configure `feature_tags` and `tags` for an application at the same time, so if you need to assign additional custom tags it's recommended to use the `tags` property instead. Tag values also propagate to any linked service principals.
*
*/
@Import(name="featureTags")
private @Nullable Output> featureTags;
/**
* @return A `feature_tags` block as described below. Cannot be used together with the `tags` property.
*
* > **Features and Tags** Features are configured for an application using tags, and are provided as a shortcut to set the corresponding magic tag value for each feature. You cannot configure `feature_tags` and `tags` for an application at the same time, so if you need to assign additional custom tags it's recommended to use the `tags` property instead. Tag values also propagate to any linked service principals.
*
*/
public Optional>> featureTags() {
return Optional.ofNullable(this.featureTags);
}
/**
* A set of strings containing membership claims issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`.
*
*/
@Import(name="groupMembershipClaims")
private @Nullable Output> groupMembershipClaims;
/**
* @return A set of strings containing membership claims issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`.
*
*/
public Optional>> groupMembershipClaims() {
return Optional.ofNullable(this.groupMembershipClaims);
}
/**
* A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
*
*/
@Import(name="identifierUris")
private @Nullable Output> identifierUris;
/**
* @return A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
*
*/
public Optional>> identifierUris() {
return Optional.ofNullable(this.identifierUris);
}
/**
* A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image.
*
*/
@Import(name="logoImage")
private @Nullable Output logoImage;
/**
* @return A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image.
*
*/
public Optional> logoImage() {
return Optional.ofNullable(this.logoImage);
}
/**
* URL of the application's marketing page.
*
*/
@Import(name="marketingUrl")
private @Nullable Output marketingUrl;
/**
* @return URL of the application's marketing page.
*
*/
public Optional> marketingUrl() {
return Optional.ofNullable(this.marketingUrl);
}
/**
* User-specified notes relevant for the management of the application.
*
*/
@Import(name="notes")
private @Nullable Output notes;
/**
* @return User-specified notes relevant for the management of the application.
*
*/
public Optional> notes() {
return Optional.ofNullable(this.notes);
}
/**
* Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests. Defaults to `false`, which specifies that only GET requests are allowed.
*
*/
@Import(name="oauth2PostResponseRequired")
private @Nullable Output oauth2PostResponseRequired;
/**
* @return Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests. Defaults to `false`, which specifies that only GET requests are allowed.
*
*/
public Optional> oauth2PostResponseRequired() {
return Optional.ofNullable(this.oauth2PostResponseRequired);
}
/**
* An `optional_claims` block as documented below.
*
*/
@Import(name="optionalClaims")
private @Nullable Output optionalClaims;
/**
* @return An `optional_claims` block as documented below.
*
*/
public Optional> optionalClaims() {
return Optional.ofNullable(this.optionalClaims);
}
/**
* A list of object IDs of principals that will be granted ownership of the application
*
*/
@Import(name="owners")
private @Nullable Output> owners;
/**
* @return A list of object IDs of principals that will be granted ownership of the application
*
*/
public Optional>> owners() {
return Optional.ofNullable(this.owners);
}
/**
* A single `password` block as documented below. The password is generated during creation. By default, no password is generated.
*
* > **Creating a Password** The `password` block supports a single password for the application, and is provided so that a password can be generated when a new application is created. This helps to make new applications available for authentication more quickly. To add additional passwords to an application, see the azuread.ApplicationPassword resource.
*
*/
@Import(name="password")
private @Nullable Output password;
/**
* @return A single `password` block as documented below. The password is generated during creation. By default, no password is generated.
*
* > **Creating a Password** The `password` block supports a single password for the application, and is provided so that a password can be generated when a new application is created. This helps to make new applications available for authentication more quickly. To add additional passwords to an application, see the azuread.ApplicationPassword resource.
*
*/
public Optional> password() {
return Optional.ofNullable(this.password);
}
/**
* If `true`, will return an error if an existing application is found with the same name. Defaults to `false`.
*
*/
@Import(name="preventDuplicateNames")
private @Nullable Output preventDuplicateNames;
/**
* @return If `true`, will return an error if an existing application is found with the same name. Defaults to `false`.
*
*/
public Optional> preventDuplicateNames() {
return Optional.ofNullable(this.preventDuplicateNames);
}
/**
* URL of the application's privacy statement.
*
*/
@Import(name="privacyStatementUrl")
private @Nullable Output privacyStatementUrl;
/**
* @return URL of the application's privacy statement.
*
*/
public Optional> privacyStatementUrl() {
return Optional.ofNullable(this.privacyStatementUrl);
}
/**
* A `public_client` block as documented below, which configures non-web app or non-web API application settings, for example mobile or other public clients such as an installed application running on a desktop device.
*
*/
@Import(name="publicClient")
private @Nullable Output publicClient;
/**
* @return A `public_client` block as documented below, which configures non-web app or non-web API application settings, for example mobile or other public clients such as an installed application running on a desktop device.
*
*/
public Optional> publicClient() {
return Optional.ofNullable(this.publicClient);
}
/**
* A collection of `required_resource_access` blocks as documented below.
*
*/
@Import(name="requiredResourceAccesses")
private @Nullable Output> requiredResourceAccesses;
/**
* @return A collection of `required_resource_access` blocks as documented below.
*
*/
public Optional>> requiredResourceAccesses() {
return Optional.ofNullable(this.requiredResourceAccesses);
}
/**
* References application context information from a Service or Asset Management database.
*
*/
@Import(name="serviceManagementReference")
private @Nullable Output serviceManagementReference;
/**
* @return References application context information from a Service or Asset Management database.
*
*/
public Optional> serviceManagementReference() {
return Optional.ofNullable(this.serviceManagementReference);
}
/**
* The Microsoft account types that are supported for the current application. Must be one of `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. Defaults to `AzureADMyOrg`.
*
* > **Changing `sign_in_audience` for existing applications** When updating an existing application to use a `sign_in_audience` value of `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`, your configuration may no longer be valid. Refer to [official documentation](https://docs.microsoft.com/en-gb/azure/active-directory/develop/supported-accounts-validation) to understand the differences in supported configurations. Where possible, the provider will attempt to validate your configuration and try to avoid applying unsupported settings to your application.
*
*/
@Import(name="signInAudience")
private @Nullable Output signInAudience;
/**
* @return The Microsoft account types that are supported for the current application. Must be one of `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. Defaults to `AzureADMyOrg`.
*
* > **Changing `sign_in_audience` for existing applications** When updating an existing application to use a `sign_in_audience` value of `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`, your configuration may no longer be valid. Refer to [official documentation](https://docs.microsoft.com/en-gb/azure/active-directory/develop/supported-accounts-validation) to understand the differences in supported configurations. Where possible, the provider will attempt to validate your configuration and try to avoid applying unsupported settings to your application.
*
*/
public Optional> signInAudience() {
return Optional.ofNullable(this.signInAudience);
}
/**
* A `single_page_application` block as documented below, which configures single-page application (SPA) related settings for this application.
*
*/
@Import(name="singlePageApplication")
private @Nullable Output singlePageApplication;
/**
* @return A `single_page_application` block as documented below, which configures single-page application (SPA) related settings for this application.
*
*/
public Optional> singlePageApplication() {
return Optional.ofNullable(this.singlePageApplication);
}
/**
* URL of the application's support page.
*
*/
@Import(name="supportUrl")
private @Nullable Output supportUrl;
/**
* @return URL of the application's support page.
*
*/
public Optional> supportUrl() {
return Optional.ofNullable(this.supportUrl);
}
/**
* A set of tags to apply to the application for configuring specific behaviours of the application and linked service principals. Note that these are not provided for use by practitioners. Cannot be used together with the `feature_tags` block.
*
* > **Tags and Features** Azure Active Directory uses special tag values to configure the behavior of applications. These can be specified using either the `tags` property or with the `feature_tags` block. If you need to set any custom tag values not supported by the `feature_tags` block, it's recommended to use the `tags` property. Tag values also propagate to any linked service principals.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A set of tags to apply to the application for configuring specific behaviours of the application and linked service principals. Note that these are not provided for use by practitioners. Cannot be used together with the `feature_tags` block.
*
* > **Tags and Features** Azure Active Directory uses special tag values to configure the behavior of applications. These can be specified using either the `tags` property or with the `feature_tags` block. If you need to set any custom tag values not supported by the `feature_tags` block, it's recommended to use the `tags` property. Tag values also propagate to any linked service principals.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created.
*
* > **Tip for Gallery Applications** This resource can be used to instantiate a gallery application, however it will also attempt to manage the properties of the resulting application. If this is not desired, consider using the azuread.ApplicationRegistration resource instead.
*
*/
@Import(name="templateId")
private @Nullable Output templateId;
/**
* @return Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created.
*
* > **Tip for Gallery Applications** This resource can be used to instantiate a gallery application, however it will also attempt to manage the properties of the resulting application. If this is not desired, consider using the azuread.ApplicationRegistration resource instead.
*
*/
public Optional> templateId() {
return Optional.ofNullable(this.templateId);
}
/**
* URL of the application's terms of service statement.
*
*/
@Import(name="termsOfServiceUrl")
private @Nullable Output termsOfServiceUrl;
/**
* @return URL of the application's terms of service statement.
*
*/
public Optional> termsOfServiceUrl() {
return Optional.ofNullable(this.termsOfServiceUrl);
}
/**
* A `web` block as documented below, which configures web related settings for this application.
*
* > **Application Name Uniqueness** Application names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing applications if you want to avoid name collisions.
*
*/
@Import(name="web")
private @Nullable Output web;
/**
* @return A `web` block as documented below, which configures web related settings for this application.
*
* > **Application Name Uniqueness** Application names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing applications if you want to avoid name collisions.
*
*/
public Optional> web() {
return Optional.ofNullable(this.web);
}
private ApplicationArgs() {}
private ApplicationArgs(ApplicationArgs $) {
this.api = $.api;
this.appRoles = $.appRoles;
this.description = $.description;
this.deviceOnlyAuthEnabled = $.deviceOnlyAuthEnabled;
this.displayName = $.displayName;
this.fallbackPublicClientEnabled = $.fallbackPublicClientEnabled;
this.featureTags = $.featureTags;
this.groupMembershipClaims = $.groupMembershipClaims;
this.identifierUris = $.identifierUris;
this.logoImage = $.logoImage;
this.marketingUrl = $.marketingUrl;
this.notes = $.notes;
this.oauth2PostResponseRequired = $.oauth2PostResponseRequired;
this.optionalClaims = $.optionalClaims;
this.owners = $.owners;
this.password = $.password;
this.preventDuplicateNames = $.preventDuplicateNames;
this.privacyStatementUrl = $.privacyStatementUrl;
this.publicClient = $.publicClient;
this.requiredResourceAccesses = $.requiredResourceAccesses;
this.serviceManagementReference = $.serviceManagementReference;
this.signInAudience = $.signInAudience;
this.singlePageApplication = $.singlePageApplication;
this.supportUrl = $.supportUrl;
this.tags = $.tags;
this.templateId = $.templateId;
this.termsOfServiceUrl = $.termsOfServiceUrl;
this.web = $.web;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ApplicationArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ApplicationArgs $;
public Builder() {
$ = new ApplicationArgs();
}
public Builder(ApplicationArgs defaults) {
$ = new ApplicationArgs(Objects.requireNonNull(defaults));
}
/**
* @param api An `api` block as documented below, which configures API related settings for this application.
*
* @return builder
*
*/
public Builder api(@Nullable Output api) {
$.api = api;
return this;
}
/**
* @param api An `api` block as documented below, which configures API related settings for this application.
*
* @return builder
*
*/
public Builder api(ApplicationApiArgs api) {
return api(Output.of(api));
}
/**
* @param appRoles A collection of `app_role` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles).
*
* @return builder
*
*/
public Builder appRoles(@Nullable Output> appRoles) {
$.appRoles = appRoles;
return this;
}
/**
* @param appRoles A collection of `app_role` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles).
*
* @return builder
*
*/
public Builder appRoles(List appRoles) {
return appRoles(Output.of(appRoles));
}
/**
* @param appRoles A collection of `app_role` blocks as documented below. For more information see [official documentation on Application Roles](https://docs.microsoft.com/en-us/azure/architecture/multitenant-identity/app-roles).
*
* @return builder
*
*/
public Builder appRoles(ApplicationAppRoleArgs... appRoles) {
return appRoles(List.of(appRoles));
}
/**
* @param description A description of the application, as shown to end users.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description A description of the application, as shown to end users.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param deviceOnlyAuthEnabled Specifies whether this application supports device authentication without a user. Defaults to `false`.
*
* @return builder
*
*/
public Builder deviceOnlyAuthEnabled(@Nullable Output deviceOnlyAuthEnabled) {
$.deviceOnlyAuthEnabled = deviceOnlyAuthEnabled;
return this;
}
/**
* @param deviceOnlyAuthEnabled Specifies whether this application supports device authentication without a user. Defaults to `false`.
*
* @return builder
*
*/
public Builder deviceOnlyAuthEnabled(Boolean deviceOnlyAuthEnabled) {
return deviceOnlyAuthEnabled(Output.of(deviceOnlyAuthEnabled));
}
/**
* @param displayName The display name for the application.
*
* @return builder
*
*/
public Builder displayName(Output displayName) {
$.displayName = displayName;
return this;
}
/**
* @param displayName The display name for the application.
*
* @return builder
*
*/
public Builder displayName(String displayName) {
return displayName(Output.of(displayName));
}
/**
* @param fallbackPublicClientEnabled Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI. Defaults to `false`.
*
* @return builder
*
*/
public Builder fallbackPublicClientEnabled(@Nullable Output fallbackPublicClientEnabled) {
$.fallbackPublicClientEnabled = fallbackPublicClientEnabled;
return this;
}
/**
* @param fallbackPublicClientEnabled Specifies whether the application is a public client. Appropriate for apps using token grant flows that don't use a redirect URI. Defaults to `false`.
*
* @return builder
*
*/
public Builder fallbackPublicClientEnabled(Boolean fallbackPublicClientEnabled) {
return fallbackPublicClientEnabled(Output.of(fallbackPublicClientEnabled));
}
/**
* @param featureTags A `feature_tags` block as described below. Cannot be used together with the `tags` property.
*
* > **Features and Tags** Features are configured for an application using tags, and are provided as a shortcut to set the corresponding magic tag value for each feature. You cannot configure `feature_tags` and `tags` for an application at the same time, so if you need to assign additional custom tags it's recommended to use the `tags` property instead. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder featureTags(@Nullable Output> featureTags) {
$.featureTags = featureTags;
return this;
}
/**
* @param featureTags A `feature_tags` block as described below. Cannot be used together with the `tags` property.
*
* > **Features and Tags** Features are configured for an application using tags, and are provided as a shortcut to set the corresponding magic tag value for each feature. You cannot configure `feature_tags` and `tags` for an application at the same time, so if you need to assign additional custom tags it's recommended to use the `tags` property instead. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder featureTags(List featureTags) {
return featureTags(Output.of(featureTags));
}
/**
* @param featureTags A `feature_tags` block as described below. Cannot be used together with the `tags` property.
*
* > **Features and Tags** Features are configured for an application using tags, and are provided as a shortcut to set the corresponding magic tag value for each feature. You cannot configure `feature_tags` and `tags` for an application at the same time, so if you need to assign additional custom tags it's recommended to use the `tags` property instead. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder featureTags(ApplicationFeatureTagArgs... featureTags) {
return featureTags(List.of(featureTags));
}
/**
* @param groupMembershipClaims A set of strings containing membership claims issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`.
*
* @return builder
*
*/
public Builder groupMembershipClaims(@Nullable Output> groupMembershipClaims) {
$.groupMembershipClaims = groupMembershipClaims;
return this;
}
/**
* @param groupMembershipClaims A set of strings containing membership claims issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`.
*
* @return builder
*
*/
public Builder groupMembershipClaims(List groupMembershipClaims) {
return groupMembershipClaims(Output.of(groupMembershipClaims));
}
/**
* @param groupMembershipClaims A set of strings containing membership claims issued in a user or OAuth 2.0 access token that the app expects. Possible values are `None`, `SecurityGroup`, `DirectoryRole`, `ApplicationGroup` or `All`.
*
* @return builder
*
*/
public Builder groupMembershipClaims(String... groupMembershipClaims) {
return groupMembershipClaims(List.of(groupMembershipClaims));
}
/**
* @param identifierUris A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
*
* @return builder
*
*/
public Builder identifierUris(@Nullable Output> identifierUris) {
$.identifierUris = identifierUris;
return this;
}
/**
* @param identifierUris A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
*
* @return builder
*
*/
public Builder identifierUris(List identifierUris) {
return identifierUris(Output.of(identifierUris));
}
/**
* @param identifierUris A set of user-defined URI(s) that uniquely identify an application within its Azure AD tenant, or within a verified custom domain if the application is multi-tenant.
*
* @return builder
*
*/
public Builder identifierUris(String... identifierUris) {
return identifierUris(List.of(identifierUris));
}
/**
* @param logoImage A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image.
*
* @return builder
*
*/
public Builder logoImage(@Nullable Output logoImage) {
$.logoImage = logoImage;
return this;
}
/**
* @param logoImage A logo image to upload for the application, as a raw base64-encoded string. The image should be in gif, jpeg or png format. Note that once an image has been uploaded, it is not possible to remove it without replacing it with another image.
*
* @return builder
*
*/
public Builder logoImage(String logoImage) {
return logoImage(Output.of(logoImage));
}
/**
* @param marketingUrl URL of the application's marketing page.
*
* @return builder
*
*/
public Builder marketingUrl(@Nullable Output marketingUrl) {
$.marketingUrl = marketingUrl;
return this;
}
/**
* @param marketingUrl URL of the application's marketing page.
*
* @return builder
*
*/
public Builder marketingUrl(String marketingUrl) {
return marketingUrl(Output.of(marketingUrl));
}
/**
* @param notes User-specified notes relevant for the management of the application.
*
* @return builder
*
*/
public Builder notes(@Nullable Output notes) {
$.notes = notes;
return this;
}
/**
* @param notes User-specified notes relevant for the management of the application.
*
* @return builder
*
*/
public Builder notes(String notes) {
return notes(Output.of(notes));
}
/**
* @param oauth2PostResponseRequired Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests. Defaults to `false`, which specifies that only GET requests are allowed.
*
* @return builder
*
*/
public Builder oauth2PostResponseRequired(@Nullable Output oauth2PostResponseRequired) {
$.oauth2PostResponseRequired = oauth2PostResponseRequired;
return this;
}
/**
* @param oauth2PostResponseRequired Specifies whether, as part of OAuth 2.0 token requests, Azure AD allows POST requests, as opposed to GET requests. Defaults to `false`, which specifies that only GET requests are allowed.
*
* @return builder
*
*/
public Builder oauth2PostResponseRequired(Boolean oauth2PostResponseRequired) {
return oauth2PostResponseRequired(Output.of(oauth2PostResponseRequired));
}
/**
* @param optionalClaims An `optional_claims` block as documented below.
*
* @return builder
*
*/
public Builder optionalClaims(@Nullable Output optionalClaims) {
$.optionalClaims = optionalClaims;
return this;
}
/**
* @param optionalClaims An `optional_claims` block as documented below.
*
* @return builder
*
*/
public Builder optionalClaims(ApplicationOptionalClaimsArgs optionalClaims) {
return optionalClaims(Output.of(optionalClaims));
}
/**
* @param owners A list of object IDs of principals that will be granted ownership of the application
*
* @return builder
*
*/
public Builder owners(@Nullable Output> owners) {
$.owners = owners;
return this;
}
/**
* @param owners A list of object IDs of principals that will be granted ownership of the application
*
* @return builder
*
*/
public Builder owners(List owners) {
return owners(Output.of(owners));
}
/**
* @param owners A list of object IDs of principals that will be granted ownership of the application
*
* @return builder
*
*/
public Builder owners(String... owners) {
return owners(List.of(owners));
}
/**
* @param password A single `password` block as documented below. The password is generated during creation. By default, no password is generated.
*
* > **Creating a Password** The `password` block supports a single password for the application, and is provided so that a password can be generated when a new application is created. This helps to make new applications available for authentication more quickly. To add additional passwords to an application, see the azuread.ApplicationPassword resource.
*
* @return builder
*
*/
public Builder password(@Nullable Output password) {
$.password = password;
return this;
}
/**
* @param password A single `password` block as documented below. The password is generated during creation. By default, no password is generated.
*
* > **Creating a Password** The `password` block supports a single password for the application, and is provided so that a password can be generated when a new application is created. This helps to make new applications available for authentication more quickly. To add additional passwords to an application, see the azuread.ApplicationPassword resource.
*
* @return builder
*
*/
public Builder password(ApplicationPasswordArgs password) {
return password(Output.of(password));
}
/**
* @param preventDuplicateNames If `true`, will return an error if an existing application is found with the same name. Defaults to `false`.
*
* @return builder
*
*/
public Builder preventDuplicateNames(@Nullable Output preventDuplicateNames) {
$.preventDuplicateNames = preventDuplicateNames;
return this;
}
/**
* @param preventDuplicateNames If `true`, will return an error if an existing application is found with the same name. Defaults to `false`.
*
* @return builder
*
*/
public Builder preventDuplicateNames(Boolean preventDuplicateNames) {
return preventDuplicateNames(Output.of(preventDuplicateNames));
}
/**
* @param privacyStatementUrl URL of the application's privacy statement.
*
* @return builder
*
*/
public Builder privacyStatementUrl(@Nullable Output privacyStatementUrl) {
$.privacyStatementUrl = privacyStatementUrl;
return this;
}
/**
* @param privacyStatementUrl URL of the application's privacy statement.
*
* @return builder
*
*/
public Builder privacyStatementUrl(String privacyStatementUrl) {
return privacyStatementUrl(Output.of(privacyStatementUrl));
}
/**
* @param publicClient A `public_client` block as documented below, which configures non-web app or non-web API application settings, for example mobile or other public clients such as an installed application running on a desktop device.
*
* @return builder
*
*/
public Builder publicClient(@Nullable Output publicClient) {
$.publicClient = publicClient;
return this;
}
/**
* @param publicClient A `public_client` block as documented below, which configures non-web app or non-web API application settings, for example mobile or other public clients such as an installed application running on a desktop device.
*
* @return builder
*
*/
public Builder publicClient(ApplicationPublicClientArgs publicClient) {
return publicClient(Output.of(publicClient));
}
/**
* @param requiredResourceAccesses A collection of `required_resource_access` blocks as documented below.
*
* @return builder
*
*/
public Builder requiredResourceAccesses(@Nullable Output> requiredResourceAccesses) {
$.requiredResourceAccesses = requiredResourceAccesses;
return this;
}
/**
* @param requiredResourceAccesses A collection of `required_resource_access` blocks as documented below.
*
* @return builder
*
*/
public Builder requiredResourceAccesses(List requiredResourceAccesses) {
return requiredResourceAccesses(Output.of(requiredResourceAccesses));
}
/**
* @param requiredResourceAccesses A collection of `required_resource_access` blocks as documented below.
*
* @return builder
*
*/
public Builder requiredResourceAccesses(ApplicationRequiredResourceAccessArgs... requiredResourceAccesses) {
return requiredResourceAccesses(List.of(requiredResourceAccesses));
}
/**
* @param serviceManagementReference References application context information from a Service or Asset Management database.
*
* @return builder
*
*/
public Builder serviceManagementReference(@Nullable Output serviceManagementReference) {
$.serviceManagementReference = serviceManagementReference;
return this;
}
/**
* @param serviceManagementReference References application context information from a Service or Asset Management database.
*
* @return builder
*
*/
public Builder serviceManagementReference(String serviceManagementReference) {
return serviceManagementReference(Output.of(serviceManagementReference));
}
/**
* @param signInAudience The Microsoft account types that are supported for the current application. Must be one of `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. Defaults to `AzureADMyOrg`.
*
* > **Changing `sign_in_audience` for existing applications** When updating an existing application to use a `sign_in_audience` value of `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`, your configuration may no longer be valid. Refer to [official documentation](https://docs.microsoft.com/en-gb/azure/active-directory/develop/supported-accounts-validation) to understand the differences in supported configurations. Where possible, the provider will attempt to validate your configuration and try to avoid applying unsupported settings to your application.
*
* @return builder
*
*/
public Builder signInAudience(@Nullable Output signInAudience) {
$.signInAudience = signInAudience;
return this;
}
/**
* @param signInAudience The Microsoft account types that are supported for the current application. Must be one of `AzureADMyOrg`, `AzureADMultipleOrgs`, `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`. Defaults to `AzureADMyOrg`.
*
* > **Changing `sign_in_audience` for existing applications** When updating an existing application to use a `sign_in_audience` value of `AzureADandPersonalMicrosoftAccount` or `PersonalMicrosoftAccount`, your configuration may no longer be valid. Refer to [official documentation](https://docs.microsoft.com/en-gb/azure/active-directory/develop/supported-accounts-validation) to understand the differences in supported configurations. Where possible, the provider will attempt to validate your configuration and try to avoid applying unsupported settings to your application.
*
* @return builder
*
*/
public Builder signInAudience(String signInAudience) {
return signInAudience(Output.of(signInAudience));
}
/**
* @param singlePageApplication A `single_page_application` block as documented below, which configures single-page application (SPA) related settings for this application.
*
* @return builder
*
*/
public Builder singlePageApplication(@Nullable Output singlePageApplication) {
$.singlePageApplication = singlePageApplication;
return this;
}
/**
* @param singlePageApplication A `single_page_application` block as documented below, which configures single-page application (SPA) related settings for this application.
*
* @return builder
*
*/
public Builder singlePageApplication(ApplicationSinglePageApplicationArgs singlePageApplication) {
return singlePageApplication(Output.of(singlePageApplication));
}
/**
* @param supportUrl URL of the application's support page.
*
* @return builder
*
*/
public Builder supportUrl(@Nullable Output supportUrl) {
$.supportUrl = supportUrl;
return this;
}
/**
* @param supportUrl URL of the application's support page.
*
* @return builder
*
*/
public Builder supportUrl(String supportUrl) {
return supportUrl(Output.of(supportUrl));
}
/**
* @param tags A set of tags to apply to the application for configuring specific behaviours of the application and linked service principals. Note that these are not provided for use by practitioners. Cannot be used together with the `feature_tags` block.
*
* > **Tags and Features** Azure Active Directory uses special tag values to configure the behavior of applications. These can be specified using either the `tags` property or with the `feature_tags` block. If you need to set any custom tag values not supported by the `feature_tags` block, it's recommended to use the `tags` property. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A set of tags to apply to the application for configuring specific behaviours of the application and linked service principals. Note that these are not provided for use by practitioners. Cannot be used together with the `feature_tags` block.
*
* > **Tags and Features** Azure Active Directory uses special tag values to configure the behavior of applications. These can be specified using either the `tags` property or with the `feature_tags` block. If you need to set any custom tag values not supported by the `feature_tags` block, it's recommended to use the `tags` property. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder tags(List tags) {
return tags(Output.of(tags));
}
/**
* @param tags A set of tags to apply to the application for configuring specific behaviours of the application and linked service principals. Note that these are not provided for use by practitioners. Cannot be used together with the `feature_tags` block.
*
* > **Tags and Features** Azure Active Directory uses special tag values to configure the behavior of applications. These can be specified using either the `tags` property or with the `feature_tags` block. If you need to set any custom tag values not supported by the `feature_tags` block, it's recommended to use the `tags` property. Tag values also propagate to any linked service principals.
*
* @return builder
*
*/
public Builder tags(String... tags) {
return tags(List.of(tags));
}
/**
* @param templateId Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created.
*
* > **Tip for Gallery Applications** This resource can be used to instantiate a gallery application, however it will also attempt to manage the properties of the resulting application. If this is not desired, consider using the azuread.ApplicationRegistration resource instead.
*
* @return builder
*
*/
public Builder templateId(@Nullable Output templateId) {
$.templateId = templateId;
return this;
}
/**
* @param templateId Unique ID for a templated application in the Azure AD App Gallery, from which to create the application. Changing this forces a new resource to be created.
*
* > **Tip for Gallery Applications** This resource can be used to instantiate a gallery application, however it will also attempt to manage the properties of the resulting application. If this is not desired, consider using the azuread.ApplicationRegistration resource instead.
*
* @return builder
*
*/
public Builder templateId(String templateId) {
return templateId(Output.of(templateId));
}
/**
* @param termsOfServiceUrl URL of the application's terms of service statement.
*
* @return builder
*
*/
public Builder termsOfServiceUrl(@Nullable Output termsOfServiceUrl) {
$.termsOfServiceUrl = termsOfServiceUrl;
return this;
}
/**
* @param termsOfServiceUrl URL of the application's terms of service statement.
*
* @return builder
*
*/
public Builder termsOfServiceUrl(String termsOfServiceUrl) {
return termsOfServiceUrl(Output.of(termsOfServiceUrl));
}
/**
* @param web A `web` block as documented below, which configures web related settings for this application.
*
* > **Application Name Uniqueness** Application names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing applications if you want to avoid name collisions.
*
* @return builder
*
*/
public Builder web(@Nullable Output web) {
$.web = web;
return this;
}
/**
* @param web A `web` block as documented below, which configures web related settings for this application.
*
* > **Application Name Uniqueness** Application names are not unique within Azure Active Directory. Use the `prevent_duplicate_names` argument to check for existing applications if you want to avoid name collisions.
*
* @return builder
*
*/
public Builder web(ApplicationWebArgs web) {
return web(Output.of(web));
}
public ApplicationArgs build() {
if ($.displayName == null) {
throw new MissingRequiredPropertyException("ApplicationArgs", "displayName");
}
return $;
}
}
}