@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
892 lines • 176 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface WindowsFunctionAppConfig extends cdktf.TerraformMetaArguments {
/**
* A map of key-value pairs for [App Settings](https://docs.microsoft.com/en-us/azure/azure-functions/functions-app-settings) and custom values.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#app_settings WindowsFunctionApp#app_settings}
*/
readonly appSettings?: {
[key: string]: string;
};
/**
* Should built in logging be enabled. Configures `AzureWebJobsDashboard` app setting based on the configured storage setting
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#builtin_logging_enabled WindowsFunctionApp#builtin_logging_enabled}
*/
readonly builtinLoggingEnabled?: boolean | cdktf.IResolvable;
/**
* Should the function app use Client Certificates
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_certificate_enabled WindowsFunctionApp#client_certificate_enabled}
*/
readonly clientCertificateEnabled?: boolean | cdktf.IResolvable;
/**
* Paths to exclude when using client certificates, separated by ;
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_certificate_exclusion_paths WindowsFunctionApp#client_certificate_exclusion_paths}
*/
readonly clientCertificateExclusionPaths?: string;
/**
* The mode of the Function App's client certificates requirement for incoming requests. Possible values are `Required`, `Optional`, and `OptionalInteractiveUser`
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_certificate_mode WindowsFunctionApp#client_certificate_mode}
*/
readonly clientCertificateMode?: string;
/**
* Force disable the content share settings.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#content_share_force_disabled WindowsFunctionApp#content_share_force_disabled}
*/
readonly contentShareForceDisabled?: boolean | cdktf.IResolvable;
/**
* The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps in Consumption Plans.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#daily_memory_time_quota WindowsFunctionApp#daily_memory_time_quota}
*/
readonly dailyMemoryTimeQuota?: number;
/**
* Is the Windows Function App enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#enabled WindowsFunctionApp#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#ftp_publish_basic_authentication_enabled WindowsFunctionApp#ftp_publish_basic_authentication_enabled}
*/
readonly ftpPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable;
/**
* The runtime version associated with the Function App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#functions_extension_version WindowsFunctionApp#functions_extension_version}
*/
readonly functionsExtensionVersion?: string;
/**
* Can the Function App only be accessed via HTTPS?
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#https_only WindowsFunctionApp#https_only}
*/
readonly httpsOnly?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#id WindowsFunctionApp#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* The User Assigned Identity to use for Key Vault access.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#key_vault_reference_identity_id WindowsFunctionApp#key_vault_reference_identity_id}
*/
readonly keyVaultReferenceIdentityId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#location WindowsFunctionApp#location}
*/
readonly location: string;
/**
* Specifies the name of the Function App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#name WindowsFunctionApp#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#public_network_access_enabled WindowsFunctionApp#public_network_access_enabled}
*/
readonly publicNetworkAccessEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#resource_group_name WindowsFunctionApp#resource_group_name}
*/
readonly resourceGroupName: string;
/**
* The ID of the App Service Plan within which to create this Function App
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#service_plan_id WindowsFunctionApp#service_plan_id}
*/
readonly servicePlanId: string;
/**
* The access key which will be used to access the storage account for the Function App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#storage_account_access_key WindowsFunctionApp#storage_account_access_key}
*/
readonly storageAccountAccessKey?: string;
/**
* The backend storage account name which will be used by this Function App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#storage_account_name WindowsFunctionApp#storage_account_name}
*/
readonly storageAccountName?: string;
/**
* The Key Vault Secret ID, including version, that contains the Connection String to connect to the storage account for this Function App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#storage_key_vault_secret_id WindowsFunctionApp#storage_key_vault_secret_id}
*/
readonly storageKeyVaultSecretId?: string;
/**
* Should the Function App use its Managed Identity to access storage?
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#storage_uses_managed_identity WindowsFunctionApp#storage_uses_managed_identity}
*/
readonly storageUsesManagedIdentity?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#tags WindowsFunctionApp#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#virtual_network_subnet_id WindowsFunctionApp#virtual_network_subnet_id}
*/
readonly virtualNetworkSubnetId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#webdeploy_publish_basic_authentication_enabled WindowsFunctionApp#webdeploy_publish_basic_authentication_enabled}
*/
readonly webdeployPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable;
/**
* The local path and filename of the Zip packaged application to deploy to this Windows Function App. **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` to be set on the App in `app_settings`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#zip_deploy_file WindowsFunctionApp#zip_deploy_file}
*/
readonly zipDeployFile?: string;
/**
* auth_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#auth_settings WindowsFunctionApp#auth_settings}
*/
readonly authSettings?: WindowsFunctionAppAuthSettings;
/**
* auth_settings_v2 block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#auth_settings_v2 WindowsFunctionApp#auth_settings_v2}
*/
readonly authSettingsV2?: WindowsFunctionAppAuthSettingsV2;
/**
* backup block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#backup WindowsFunctionApp#backup}
*/
readonly backup?: WindowsFunctionAppBackup;
/**
* connection_string block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#connection_string WindowsFunctionApp#connection_string}
*/
readonly connectionString?: WindowsFunctionAppConnectionString[] | cdktf.IResolvable;
/**
* identity block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#identity WindowsFunctionApp#identity}
*/
readonly identity?: WindowsFunctionAppIdentity;
/**
* site_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#site_config WindowsFunctionApp#site_config}
*/
readonly siteConfig: WindowsFunctionAppSiteConfig;
/**
* sticky_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#sticky_settings WindowsFunctionApp#sticky_settings}
*/
readonly stickySettings?: WindowsFunctionAppStickySettings;
/**
* storage_account block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#storage_account WindowsFunctionApp#storage_account}
*/
readonly storageAccount?: WindowsFunctionAppStorageAccount[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#timeouts WindowsFunctionApp#timeouts}
*/
readonly timeouts?: WindowsFunctionAppTimeouts;
}
export interface WindowsFunctionAppSiteCredential {
}
export declare function windowsFunctionAppSiteCredentialToTerraform(struct?: WindowsFunctionAppSiteCredential): any;
export declare function windowsFunctionAppSiteCredentialToHclTerraform(struct?: WindowsFunctionAppSiteCredential): any;
export declare class WindowsFunctionAppSiteCredentialOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): WindowsFunctionAppSiteCredential | undefined;
set internalValue(value: WindowsFunctionAppSiteCredential | undefined);
get name(): string;
get password(): string;
}
export declare class WindowsFunctionAppSiteCredentialList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): WindowsFunctionAppSiteCredentialOutputReference;
}
export interface WindowsFunctionAppAuthSettingsActiveDirectory {
/**
* Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_audiences WindowsFunctionApp#allowed_audiences}
*/
readonly allowedAudiences?: string[];
/**
* The ID of the Client to use to authenticate with Azure Active Directory.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_id WindowsFunctionApp#client_id}
*/
readonly clientId: string;
/**
* The Client Secret for the Client ID. Cannot be used with `client_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret WindowsFunctionApp#client_secret}
*/
readonly clientSecret?: string;
/**
* The App Setting name that contains the client secret of the Client. Cannot be used with `client_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_setting_name WindowsFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
}
export declare function windowsFunctionAppAuthSettingsActiveDirectoryToTerraform(struct?: WindowsFunctionAppAuthSettingsActiveDirectoryOutputReference | WindowsFunctionAppAuthSettingsActiveDirectory): any;
export declare function windowsFunctionAppAuthSettingsActiveDirectoryToHclTerraform(struct?: WindowsFunctionAppAuthSettingsActiveDirectoryOutputReference | WindowsFunctionAppAuthSettingsActiveDirectory): any;
export declare class WindowsFunctionAppAuthSettingsActiveDirectoryOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsActiveDirectory | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsActiveDirectory | undefined);
private _allowedAudiences?;
get allowedAudiences(): string[];
set allowedAudiences(value: string[]);
resetAllowedAudiences(): void;
get allowedAudiencesInput(): string[] | undefined;
private _clientId?;
get clientId(): string;
set clientId(value: string);
get clientIdInput(): string | undefined;
private _clientSecret?;
get clientSecret(): string;
set clientSecret(value: string);
resetClientSecret(): void;
get clientSecretInput(): string | undefined;
private _clientSecretSettingName?;
get clientSecretSettingName(): string;
set clientSecretSettingName(value: string);
resetClientSecretSettingName(): void;
get clientSecretSettingNameInput(): string | undefined;
}
export interface WindowsFunctionAppAuthSettingsFacebook {
/**
* The App ID of the Facebook app used for login.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#app_id WindowsFunctionApp#app_id}
*/
readonly appId: string;
/**
* The App Secret of the Facebook app used for Facebook Login. Cannot be specified with `app_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#app_secret WindowsFunctionApp#app_secret}
*/
readonly appSecret?: string;
/**
* The app setting name that contains the `app_secret` value used for Facebook Login. Cannot be specified with `app_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#app_secret_setting_name WindowsFunctionApp#app_secret_setting_name}
*/
readonly appSecretSettingName?: string;
/**
* Specifies a list of OAuth 2.0 scopes to be requested as part of Facebook Login authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#oauth_scopes WindowsFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function windowsFunctionAppAuthSettingsFacebookToTerraform(struct?: WindowsFunctionAppAuthSettingsFacebookOutputReference | WindowsFunctionAppAuthSettingsFacebook): any;
export declare function windowsFunctionAppAuthSettingsFacebookToHclTerraform(struct?: WindowsFunctionAppAuthSettingsFacebookOutputReference | WindowsFunctionAppAuthSettingsFacebook): any;
export declare class WindowsFunctionAppAuthSettingsFacebookOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsFacebook | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsFacebook | undefined);
private _appId?;
get appId(): string;
set appId(value: string);
get appIdInput(): string | undefined;
private _appSecret?;
get appSecret(): string;
set appSecret(value: string);
resetAppSecret(): void;
get appSecretInput(): string | undefined;
private _appSecretSettingName?;
get appSecretSettingName(): string;
set appSecretSettingName(value: string);
resetAppSecretSettingName(): void;
get appSecretSettingNameInput(): string | undefined;
private _oauthScopes?;
get oauthScopes(): string[];
set oauthScopes(value: string[]);
resetOauthScopes(): void;
get oauthScopesInput(): string[] | undefined;
}
export interface WindowsFunctionAppAuthSettingsGithub {
/**
* The ID of the GitHub app used for login.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_id WindowsFunctionApp#client_id}
*/
readonly clientId: string;
/**
* The Client Secret of the GitHub app used for GitHub Login. Cannot be specified with `client_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret WindowsFunctionApp#client_secret}
*/
readonly clientSecret?: string;
/**
* The app setting name that contains the `client_secret` value used for GitHub Login. Cannot be specified with `client_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_setting_name WindowsFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
/**
* Specifies a list of OAuth 2.0 scopes that will be requested as part of GitHub Login authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#oauth_scopes WindowsFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function windowsFunctionAppAuthSettingsGithubToTerraform(struct?: WindowsFunctionAppAuthSettingsGithubOutputReference | WindowsFunctionAppAuthSettingsGithub): any;
export declare function windowsFunctionAppAuthSettingsGithubToHclTerraform(struct?: WindowsFunctionAppAuthSettingsGithubOutputReference | WindowsFunctionAppAuthSettingsGithub): any;
export declare class WindowsFunctionAppAuthSettingsGithubOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsGithub | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsGithub | undefined);
private _clientId?;
get clientId(): string;
set clientId(value: string);
get clientIdInput(): string | undefined;
private _clientSecret?;
get clientSecret(): string;
set clientSecret(value: string);
resetClientSecret(): void;
get clientSecretInput(): string | undefined;
private _clientSecretSettingName?;
get clientSecretSettingName(): string;
set clientSecretSettingName(value: string);
resetClientSecretSettingName(): void;
get clientSecretSettingNameInput(): string | undefined;
private _oauthScopes?;
get oauthScopes(): string[];
set oauthScopes(value: string[]);
resetOauthScopes(): void;
get oauthScopesInput(): string[] | undefined;
}
export interface WindowsFunctionAppAuthSettingsGoogle {
/**
* The OpenID Connect Client ID for the Google web application.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_id WindowsFunctionApp#client_id}
*/
readonly clientId: string;
/**
* The client secret associated with the Google web application. Cannot be specified with `client_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret WindowsFunctionApp#client_secret}
*/
readonly clientSecret?: string;
/**
* The app setting name that contains the `client_secret` value used for Google Login. Cannot be specified with `client_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_setting_name WindowsFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
/**
* Specifies a list of OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. If not specified, "openid", "profile", and "email" are used as default scopes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#oauth_scopes WindowsFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function windowsFunctionAppAuthSettingsGoogleToTerraform(struct?: WindowsFunctionAppAuthSettingsGoogleOutputReference | WindowsFunctionAppAuthSettingsGoogle): any;
export declare function windowsFunctionAppAuthSettingsGoogleToHclTerraform(struct?: WindowsFunctionAppAuthSettingsGoogleOutputReference | WindowsFunctionAppAuthSettingsGoogle): any;
export declare class WindowsFunctionAppAuthSettingsGoogleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsGoogle | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsGoogle | undefined);
private _clientId?;
get clientId(): string;
set clientId(value: string);
get clientIdInput(): string | undefined;
private _clientSecret?;
get clientSecret(): string;
set clientSecret(value: string);
resetClientSecret(): void;
get clientSecretInput(): string | undefined;
private _clientSecretSettingName?;
get clientSecretSettingName(): string;
set clientSecretSettingName(value: string);
resetClientSecretSettingName(): void;
get clientSecretSettingNameInput(): string | undefined;
private _oauthScopes?;
get oauthScopes(): string[];
set oauthScopes(value: string[]);
resetOauthScopes(): void;
get oauthScopesInput(): string[] | undefined;
}
export interface WindowsFunctionAppAuthSettingsMicrosoft {
/**
* The OAuth 2.0 client ID that was created for the app used for authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_id WindowsFunctionApp#client_id}
*/
readonly clientId: string;
/**
* The OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with `client_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret WindowsFunctionApp#client_secret}
*/
readonly clientSecret?: string;
/**
* The app setting name containing the OAuth 2.0 client secret that was created for the app used for authentication. Cannot be specified with `client_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_setting_name WindowsFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
/**
* The list of OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. If not specified, `wl.basic` is used as the default scope.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#oauth_scopes WindowsFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function windowsFunctionAppAuthSettingsMicrosoftToTerraform(struct?: WindowsFunctionAppAuthSettingsMicrosoftOutputReference | WindowsFunctionAppAuthSettingsMicrosoft): any;
export declare function windowsFunctionAppAuthSettingsMicrosoftToHclTerraform(struct?: WindowsFunctionAppAuthSettingsMicrosoftOutputReference | WindowsFunctionAppAuthSettingsMicrosoft): any;
export declare class WindowsFunctionAppAuthSettingsMicrosoftOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsMicrosoft | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsMicrosoft | undefined);
private _clientId?;
get clientId(): string;
set clientId(value: string);
get clientIdInput(): string | undefined;
private _clientSecret?;
get clientSecret(): string;
set clientSecret(value: string);
resetClientSecret(): void;
get clientSecretInput(): string | undefined;
private _clientSecretSettingName?;
get clientSecretSettingName(): string;
set clientSecretSettingName(value: string);
resetClientSecretSettingName(): void;
get clientSecretSettingNameInput(): string | undefined;
private _oauthScopes?;
get oauthScopes(): string[];
set oauthScopes(value: string[]);
resetOauthScopes(): void;
get oauthScopesInput(): string[] | undefined;
}
export interface WindowsFunctionAppAuthSettingsTwitter {
/**
* The OAuth 1.0a consumer key of the Twitter application used for sign-in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#consumer_key WindowsFunctionApp#consumer_key}
*/
readonly consumerKey: string;
/**
* The OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with `consumer_secret_setting_name`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#consumer_secret WindowsFunctionApp#consumer_secret}
*/
readonly consumerSecret?: string;
/**
* The app setting name that contains the OAuth 1.0a consumer secret of the Twitter application used for sign-in. Cannot be specified with `consumer_secret`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#consumer_secret_setting_name WindowsFunctionApp#consumer_secret_setting_name}
*/
readonly consumerSecretSettingName?: string;
}
export declare function windowsFunctionAppAuthSettingsTwitterToTerraform(struct?: WindowsFunctionAppAuthSettingsTwitterOutputReference | WindowsFunctionAppAuthSettingsTwitter): any;
export declare function windowsFunctionAppAuthSettingsTwitterToHclTerraform(struct?: WindowsFunctionAppAuthSettingsTwitterOutputReference | WindowsFunctionAppAuthSettingsTwitter): any;
export declare class WindowsFunctionAppAuthSettingsTwitterOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsTwitter | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsTwitter | undefined);
private _consumerKey?;
get consumerKey(): string;
set consumerKey(value: string);
get consumerKeyInput(): string | undefined;
private _consumerSecret?;
get consumerSecret(): string;
set consumerSecret(value: string);
resetConsumerSecret(): void;
get consumerSecretInput(): string | undefined;
private _consumerSecretSettingName?;
get consumerSecretSettingName(): string;
set consumerSecretSettingName(value: string);
resetConsumerSecretSettingName(): void;
get consumerSecretSettingNameInput(): string | undefined;
}
export interface WindowsFunctionAppAuthSettings {
/**
* Specifies a map of Login Parameters to send to the OpenID Connect authorization endpoint when a user logs in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#additional_login_parameters WindowsFunctionApp#additional_login_parameters}
*/
readonly additionalLoginParameters?: {
[key: string]: string;
};
/**
* Specifies a list of External URLs that can be redirected to as part of logging in or logging out of the Windows Web App.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_external_redirect_urls WindowsFunctionApp#allowed_external_redirect_urls}
*/
readonly allowedExternalRedirectUrls?: string[];
/**
* The default authentication provider to use when multiple providers are configured. Possible values include: `AzureActiveDirectory`, `Facebook`, `Google`, `MicrosoftAccount`, `Twitter`, `Github`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#default_provider WindowsFunctionApp#default_provider}
*/
readonly defaultProvider?: string;
/**
* Should the Authentication / Authorization feature be enabled?
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#enabled WindowsFunctionApp#enabled}
*/
readonly enabled: boolean | cdktf.IResolvable;
/**
* The OpenID Connect Issuer URI that represents the entity which issues access tokens.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#issuer WindowsFunctionApp#issuer}
*/
readonly issuer?: string;
/**
* The RuntimeVersion of the Authentication / Authorization feature in use.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#runtime_version WindowsFunctionApp#runtime_version}
*/
readonly runtimeVersion?: string;
/**
* The number of hours after session token expiration that a session token can be used to call the token refresh API. Defaults to `72` hours.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#token_refresh_extension_hours WindowsFunctionApp#token_refresh_extension_hours}
*/
readonly tokenRefreshExtensionHours?: number;
/**
* Should the Windows Web App durably store platform-specific security tokens that are obtained during login flows? Defaults to `false`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#token_store_enabled WindowsFunctionApp#token_store_enabled}
*/
readonly tokenStoreEnabled?: boolean | cdktf.IResolvable;
/**
* The action to take when an unauthenticated client attempts to access the app. Possible values include: `RedirectToLoginPage`, `AllowAnonymous`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#unauthenticated_client_action WindowsFunctionApp#unauthenticated_client_action}
*/
readonly unauthenticatedClientAction?: string;
/**
* active_directory block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#active_directory WindowsFunctionApp#active_directory}
*/
readonly activeDirectory?: WindowsFunctionAppAuthSettingsActiveDirectory;
/**
* facebook block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#facebook WindowsFunctionApp#facebook}
*/
readonly facebook?: WindowsFunctionAppAuthSettingsFacebook;
/**
* github block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#github WindowsFunctionApp#github}
*/
readonly github?: WindowsFunctionAppAuthSettingsGithub;
/**
* google block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#google WindowsFunctionApp#google}
*/
readonly google?: WindowsFunctionAppAuthSettingsGoogle;
/**
* microsoft block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#microsoft WindowsFunctionApp#microsoft}
*/
readonly microsoft?: WindowsFunctionAppAuthSettingsMicrosoft;
/**
* twitter block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#twitter WindowsFunctionApp#twitter}
*/
readonly twitter?: WindowsFunctionAppAuthSettingsTwitter;
}
export declare function windowsFunctionAppAuthSettingsToTerraform(struct?: WindowsFunctionAppAuthSettingsOutputReference | WindowsFunctionAppAuthSettings): any;
export declare function windowsFunctionAppAuthSettingsToHclTerraform(struct?: WindowsFunctionAppAuthSettingsOutputReference | WindowsFunctionAppAuthSettings): any;
export declare class WindowsFunctionAppAuthSettingsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettings | undefined;
set internalValue(value: WindowsFunctionAppAuthSettings | undefined);
private _additionalLoginParameters?;
get additionalLoginParameters(): {
[key: string]: string;
};
set additionalLoginParameters(value: {
[key: string]: string;
});
resetAdditionalLoginParameters(): void;
get additionalLoginParametersInput(): {
[key: string]: string;
} | undefined;
private _allowedExternalRedirectUrls?;
get allowedExternalRedirectUrls(): string[];
set allowedExternalRedirectUrls(value: string[]);
resetAllowedExternalRedirectUrls(): void;
get allowedExternalRedirectUrlsInput(): string[] | undefined;
private _defaultProvider?;
get defaultProvider(): string;
set defaultProvider(value: string);
resetDefaultProvider(): void;
get defaultProviderInput(): string | undefined;
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
get enabledInput(): boolean | cdktf.IResolvable | undefined;
private _issuer?;
get issuer(): string;
set issuer(value: string);
resetIssuer(): void;
get issuerInput(): string | undefined;
private _runtimeVersion?;
get runtimeVersion(): string;
set runtimeVersion(value: string);
resetRuntimeVersion(): void;
get runtimeVersionInput(): string | undefined;
private _tokenRefreshExtensionHours?;
get tokenRefreshExtensionHours(): number;
set tokenRefreshExtensionHours(value: number);
resetTokenRefreshExtensionHours(): void;
get tokenRefreshExtensionHoursInput(): number | undefined;
private _tokenStoreEnabled?;
get tokenStoreEnabled(): boolean | cdktf.IResolvable;
set tokenStoreEnabled(value: boolean | cdktf.IResolvable);
resetTokenStoreEnabled(): void;
get tokenStoreEnabledInput(): boolean | cdktf.IResolvable | undefined;
private _unauthenticatedClientAction?;
get unauthenticatedClientAction(): string;
set unauthenticatedClientAction(value: string);
resetUnauthenticatedClientAction(): void;
get unauthenticatedClientActionInput(): string | undefined;
private _activeDirectory;
get activeDirectory(): WindowsFunctionAppAuthSettingsActiveDirectoryOutputReference;
putActiveDirectory(value: WindowsFunctionAppAuthSettingsActiveDirectory): void;
resetActiveDirectory(): void;
get activeDirectoryInput(): WindowsFunctionAppAuthSettingsActiveDirectory | undefined;
private _facebook;
get facebook(): WindowsFunctionAppAuthSettingsFacebookOutputReference;
putFacebook(value: WindowsFunctionAppAuthSettingsFacebook): void;
resetFacebook(): void;
get facebookInput(): WindowsFunctionAppAuthSettingsFacebook | undefined;
private _github;
get github(): WindowsFunctionAppAuthSettingsGithubOutputReference;
putGithub(value: WindowsFunctionAppAuthSettingsGithub): void;
resetGithub(): void;
get githubInput(): WindowsFunctionAppAuthSettingsGithub | undefined;
private _google;
get google(): WindowsFunctionAppAuthSettingsGoogleOutputReference;
putGoogle(value: WindowsFunctionAppAuthSettingsGoogle): void;
resetGoogle(): void;
get googleInput(): WindowsFunctionAppAuthSettingsGoogle | undefined;
private _microsoft;
get microsoft(): WindowsFunctionAppAuthSettingsMicrosoftOutputReference;
putMicrosoft(value: WindowsFunctionAppAuthSettingsMicrosoft): void;
resetMicrosoft(): void;
get microsoftInput(): WindowsFunctionAppAuthSettingsMicrosoft | undefined;
private _twitter;
get twitter(): WindowsFunctionAppAuthSettingsTwitterOutputReference;
putTwitter(value: WindowsFunctionAppAuthSettingsTwitter): void;
resetTwitter(): void;
get twitterInput(): WindowsFunctionAppAuthSettingsTwitter | undefined;
}
export interface WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 {
/**
* The list of allowed Applications for the Default Authorisation Policy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_applications WindowsFunctionApp#allowed_applications}
*/
readonly allowedApplications?: string[];
/**
* Specifies a list of Allowed audience values to consider when validating JWTs issued by Azure Active Directory.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_audiences WindowsFunctionApp#allowed_audiences}
*/
readonly allowedAudiences?: string[];
/**
* The list of allowed Group Names for the Default Authorisation Policy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_groups WindowsFunctionApp#allowed_groups}
*/
readonly allowedGroups?: string[];
/**
* The list of allowed Identities for the Default Authorisation Policy.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#allowed_identities WindowsFunctionApp#allowed_identities}
*/
readonly allowedIdentities?: string[];
/**
* The ID of the Client to use to authenticate with Azure Active Directory.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_id WindowsFunctionApp#client_id}
*/
readonly clientId: string;
/**
* The thumbprint of the certificate used for signing purposes.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_certificate_thumbprint WindowsFunctionApp#client_secret_certificate_thumbprint}
*/
readonly clientSecretCertificateThumbprint?: string;
/**
* The App Setting name that contains the client secret of the Client.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#client_secret_setting_name WindowsFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
/**
* A list of Allowed Client Applications in the JWT Claim.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#jwt_allowed_client_applications WindowsFunctionApp#jwt_allowed_client_applications}
*/
readonly jwtAllowedClientApplications?: string[];
/**
* A list of Allowed Groups in the JWT Claim.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#jwt_allowed_groups WindowsFunctionApp#jwt_allowed_groups}
*/
readonly jwtAllowedGroups?: string[];
/**
* A map of key-value pairs to send to the Authorisation Endpoint when a user logs in.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#login_parameters WindowsFunctionApp#login_parameters}
*/
readonly loginParameters?: {
[key: string]: string;
};
/**
* The Azure Tenant Endpoint for the Authenticating Tenant. e.g. `https://login.microsoftonline.com/v2.0/{tenant-guid}/`.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#tenant_auth_endpoint WindowsFunctionApp#tenant_auth_endpoint}
*/
readonly tenantAuthEndpoint: string;
/**
* Should the www-authenticate provider should be omitted from the request? Defaults to `false`
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/windows_function_app#www_authentication_disabled WindowsFunctionApp#www_authentication_disabled}
*/
readonly wwwAuthenticationDisabled?: boolean | cdktf.IResolvable;
}
export declare function windowsFunctionAppAuthSettingsV2ActiveDirectoryV2ToTerraform(struct?: WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference | WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2): any;
export declare function windowsFunctionAppAuthSettingsV2ActiveDirectoryV2ToHclTerraform(struct?: WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference | WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2): any;
export declare class WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 | undefined;
set internalValue(value: WindowsFunctionAppAuthSettingsV2ActiveDirectoryV2 | undefined);
private _allowedApplications?;
get allowedApplications(): string[];
set allowedApplications(value: string[]);
resetAllowedApplications(): void;
get allowedApplicationsInput(): string[] | undefined;
private _allowedAudiences?;
get allowedAudiences(): string[];
set allowedAudiences(value: string[]);
resetAllowedAudiences(): void;
get allowedAudiencesInput(): string[] | undefined;
private _allowedGroups?;
get allowedGroups(): string[];
set allowedGroups(value: string[]);
resetAllowedGroups(): void;
get allowedGroupsInput(): string[] | undefined;
private _allowedIdentities?;
get allowedIdentities(): string[];
set allowedIdentities(value: string[]);
resetAllowedIdentities(): void;
get allowedIdentitiesInput(): string[] | undefined;
private _clientId?;
get clientId(): string;
set clientId(value: string);
get clientIdInput(): string | undefined;
private _clientSecretCertificateThumbprint?;
get clientSecretCertificateThumbprint(): string;
set clientSecretCertificateThumbprint(value: string);
resetClientSecretCertificateThumbprint(): void;
get clientSecretCertificateThumbprintInput(): string | undefined;
private _clientSecretSettingName?;
get clientSecretSettingName(): string;
set clientSecretSettingName(value: string);
resetClientSecretSettingName(): void;
get clientSecretSettingNameInput(): string | undefined;
private _jwtAllowedClientApplications?;
get jwtAllowedClientApplications(): string[];
set jwtAllowedClientApplications(value: string[]);
resetJwtAllowedClientApplications(): void;
get jwtAllowedClientApplicationsInput(): string[] | undefined;
private _jwtAllowedGroups?;
get jwtAllowedGroups(): string[];
set jwtAllowedGroups(value: string[]);
resetJwtAllowedGroups(): void;
get jwtAllowedGroupsInput(): string[] | undefined;
private _loginParameters?;
get loginParame