@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
908 lines • 181 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface LinuxFunctionAppConfig 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/linux_function_app#app_settings LinuxFunctionApp#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/linux_function_app#builtin_logging_enabled LinuxFunctionApp#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/linux_function_app#client_certificate_enabled LinuxFunctionApp#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/linux_function_app#client_certificate_exclusion_paths LinuxFunctionApp#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/linux_function_app#client_certificate_mode LinuxFunctionApp#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/linux_function_app#content_share_force_disabled LinuxFunctionApp#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/linux_function_app#daily_memory_time_quota LinuxFunctionApp#daily_memory_time_quota}
*/
readonly dailyMemoryTimeQuota?: number;
/**
* Is the Linux Function App enabled.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#enabled LinuxFunctionApp#enabled}
*/
readonly enabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#ftp_publish_basic_authentication_enabled LinuxFunctionApp#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/linux_function_app#functions_extension_version LinuxFunctionApp#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/linux_function_app#https_only LinuxFunctionApp#https_only}
*/
readonly httpsOnly?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#id LinuxFunctionApp#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/linux_function_app#key_vault_reference_identity_id LinuxFunctionApp#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/linux_function_app#location LinuxFunctionApp#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/linux_function_app#name LinuxFunctionApp#name}
*/
readonly name: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#public_network_access_enabled LinuxFunctionApp#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/linux_function_app#resource_group_name LinuxFunctionApp#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/linux_function_app#service_plan_id LinuxFunctionApp#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/linux_function_app#storage_account_access_key LinuxFunctionApp#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/linux_function_app#storage_account_name LinuxFunctionApp#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/linux_function_app#storage_key_vault_secret_id LinuxFunctionApp#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/linux_function_app#storage_uses_managed_identity LinuxFunctionApp#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/linux_function_app#tags LinuxFunctionApp#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#virtual_network_subnet_id LinuxFunctionApp#virtual_network_subnet_id}
*/
readonly virtualNetworkSubnetId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#webdeploy_publish_basic_authentication_enabled LinuxFunctionApp#webdeploy_publish_basic_authentication_enabled}
*/
readonly webdeployPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable;
/**
* The local path and filename of the Zip packaged application to deploy to this Linux Function App. **Note:** Using this value requires either `WEBSITE_RUN_FROM_PACKAGE=1` or `SCM_DO_BUILD_DURING_DEPLOYMENT=true` 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/linux_function_app#zip_deploy_file LinuxFunctionApp#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/linux_function_app#auth_settings LinuxFunctionApp#auth_settings}
*/
readonly authSettings?: LinuxFunctionAppAuthSettings;
/**
* auth_settings_v2 block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#auth_settings_v2 LinuxFunctionApp#auth_settings_v2}
*/
readonly authSettingsV2?: LinuxFunctionAppAuthSettingsV2;
/**
* backup block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#backup LinuxFunctionApp#backup}
*/
readonly backup?: LinuxFunctionAppBackup;
/**
* connection_string block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#connection_string LinuxFunctionApp#connection_string}
*/
readonly connectionString?: LinuxFunctionAppConnectionString[] | cdktf.IResolvable;
/**
* identity block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#identity LinuxFunctionApp#identity}
*/
readonly identity?: LinuxFunctionAppIdentity;
/**
* site_config block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#site_config LinuxFunctionApp#site_config}
*/
readonly siteConfig: LinuxFunctionAppSiteConfig;
/**
* sticky_settings block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#sticky_settings LinuxFunctionApp#sticky_settings}
*/
readonly stickySettings?: LinuxFunctionAppStickySettings;
/**
* storage_account block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#storage_account LinuxFunctionApp#storage_account}
*/
readonly storageAccount?: LinuxFunctionAppStorageAccount[] | cdktf.IResolvable;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#timeouts LinuxFunctionApp#timeouts}
*/
readonly timeouts?: LinuxFunctionAppTimeouts;
}
export interface LinuxFunctionAppSiteCredential {
}
export declare function linuxFunctionAppSiteCredentialToTerraform(struct?: LinuxFunctionAppSiteCredential): any;
export declare function linuxFunctionAppSiteCredentialToHclTerraform(struct?: LinuxFunctionAppSiteCredential): any;
export declare class LinuxFunctionAppSiteCredentialOutputReference 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(): LinuxFunctionAppSiteCredential | undefined;
set internalValue(value: LinuxFunctionAppSiteCredential | undefined);
get name(): string;
get password(): string;
}
export declare class LinuxFunctionAppSiteCredentialList 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): LinuxFunctionAppSiteCredentialOutputReference;
}
export interface LinuxFunctionAppAuthSettingsActiveDirectory {
/**
* 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/linux_function_app#allowed_audiences LinuxFunctionApp#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/linux_function_app#client_id LinuxFunctionApp#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/linux_function_app#client_secret LinuxFunctionApp#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/linux_function_app#client_secret_setting_name LinuxFunctionApp#client_secret_setting_name}
*/
readonly clientSecretSettingName?: string;
}
export declare function linuxFunctionAppAuthSettingsActiveDirectoryToTerraform(struct?: LinuxFunctionAppAuthSettingsActiveDirectoryOutputReference | LinuxFunctionAppAuthSettingsActiveDirectory): any;
export declare function linuxFunctionAppAuthSettingsActiveDirectoryToHclTerraform(struct?: LinuxFunctionAppAuthSettingsActiveDirectoryOutputReference | LinuxFunctionAppAuthSettingsActiveDirectory): any;
export declare class LinuxFunctionAppAuthSettingsActiveDirectoryOutputReference 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(): LinuxFunctionAppAuthSettingsActiveDirectory | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsActiveDirectory | 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 LinuxFunctionAppAuthSettingsFacebook {
/**
* 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/linux_function_app#app_id LinuxFunctionApp#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/linux_function_app#app_secret LinuxFunctionApp#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/linux_function_app#app_secret_setting_name LinuxFunctionApp#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/linux_function_app#oauth_scopes LinuxFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function linuxFunctionAppAuthSettingsFacebookToTerraform(struct?: LinuxFunctionAppAuthSettingsFacebookOutputReference | LinuxFunctionAppAuthSettingsFacebook): any;
export declare function linuxFunctionAppAuthSettingsFacebookToHclTerraform(struct?: LinuxFunctionAppAuthSettingsFacebookOutputReference | LinuxFunctionAppAuthSettingsFacebook): any;
export declare class LinuxFunctionAppAuthSettingsFacebookOutputReference 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(): LinuxFunctionAppAuthSettingsFacebook | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsFacebook | 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 LinuxFunctionAppAuthSettingsGithub {
/**
* 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/linux_function_app#client_id LinuxFunctionApp#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/linux_function_app#client_secret LinuxFunctionApp#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/linux_function_app#client_secret_setting_name LinuxFunctionApp#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/linux_function_app#oauth_scopes LinuxFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function linuxFunctionAppAuthSettingsGithubToTerraform(struct?: LinuxFunctionAppAuthSettingsGithubOutputReference | LinuxFunctionAppAuthSettingsGithub): any;
export declare function linuxFunctionAppAuthSettingsGithubToHclTerraform(struct?: LinuxFunctionAppAuthSettingsGithubOutputReference | LinuxFunctionAppAuthSettingsGithub): any;
export declare class LinuxFunctionAppAuthSettingsGithubOutputReference 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(): LinuxFunctionAppAuthSettingsGithub | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsGithub | 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 LinuxFunctionAppAuthSettingsGoogle {
/**
* 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/linux_function_app#client_id LinuxFunctionApp#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/linux_function_app#client_secret LinuxFunctionApp#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/linux_function_app#client_secret_setting_name LinuxFunctionApp#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/linux_function_app#oauth_scopes LinuxFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function linuxFunctionAppAuthSettingsGoogleToTerraform(struct?: LinuxFunctionAppAuthSettingsGoogleOutputReference | LinuxFunctionAppAuthSettingsGoogle): any;
export declare function linuxFunctionAppAuthSettingsGoogleToHclTerraform(struct?: LinuxFunctionAppAuthSettingsGoogleOutputReference | LinuxFunctionAppAuthSettingsGoogle): any;
export declare class LinuxFunctionAppAuthSettingsGoogleOutputReference 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(): LinuxFunctionAppAuthSettingsGoogle | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsGoogle | 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 LinuxFunctionAppAuthSettingsMicrosoft {
/**
* 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/linux_function_app#client_id LinuxFunctionApp#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/linux_function_app#client_secret LinuxFunctionApp#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/linux_function_app#client_secret_setting_name LinuxFunctionApp#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/linux_function_app#oauth_scopes LinuxFunctionApp#oauth_scopes}
*/
readonly oauthScopes?: string[];
}
export declare function linuxFunctionAppAuthSettingsMicrosoftToTerraform(struct?: LinuxFunctionAppAuthSettingsMicrosoftOutputReference | LinuxFunctionAppAuthSettingsMicrosoft): any;
export declare function linuxFunctionAppAuthSettingsMicrosoftToHclTerraform(struct?: LinuxFunctionAppAuthSettingsMicrosoftOutputReference | LinuxFunctionAppAuthSettingsMicrosoft): any;
export declare class LinuxFunctionAppAuthSettingsMicrosoftOutputReference 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(): LinuxFunctionAppAuthSettingsMicrosoft | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsMicrosoft | 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 LinuxFunctionAppAuthSettingsTwitter {
/**
* 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/linux_function_app#consumer_key LinuxFunctionApp#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/linux_function_app#consumer_secret LinuxFunctionApp#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/linux_function_app#consumer_secret_setting_name LinuxFunctionApp#consumer_secret_setting_name}
*/
readonly consumerSecretSettingName?: string;
}
export declare function linuxFunctionAppAuthSettingsTwitterToTerraform(struct?: LinuxFunctionAppAuthSettingsTwitterOutputReference | LinuxFunctionAppAuthSettingsTwitter): any;
export declare function linuxFunctionAppAuthSettingsTwitterToHclTerraform(struct?: LinuxFunctionAppAuthSettingsTwitterOutputReference | LinuxFunctionAppAuthSettingsTwitter): any;
export declare class LinuxFunctionAppAuthSettingsTwitterOutputReference 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(): LinuxFunctionAppAuthSettingsTwitter | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsTwitter | 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 LinuxFunctionAppAuthSettings {
/**
* 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/linux_function_app#additional_login_parameters LinuxFunctionApp#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/linux_function_app#allowed_external_redirect_urls LinuxFunctionApp#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/linux_function_app#default_provider LinuxFunctionApp#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/linux_function_app#enabled LinuxFunctionApp#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/linux_function_app#issuer LinuxFunctionApp#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/linux_function_app#runtime_version LinuxFunctionApp#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/linux_function_app#token_refresh_extension_hours LinuxFunctionApp#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/linux_function_app#token_store_enabled LinuxFunctionApp#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/linux_function_app#unauthenticated_client_action LinuxFunctionApp#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/linux_function_app#active_directory LinuxFunctionApp#active_directory}
*/
readonly activeDirectory?: LinuxFunctionAppAuthSettingsActiveDirectory;
/**
* facebook block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#facebook LinuxFunctionApp#facebook}
*/
readonly facebook?: LinuxFunctionAppAuthSettingsFacebook;
/**
* github block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#github LinuxFunctionApp#github}
*/
readonly github?: LinuxFunctionAppAuthSettingsGithub;
/**
* google block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#google LinuxFunctionApp#google}
*/
readonly google?: LinuxFunctionAppAuthSettingsGoogle;
/**
* microsoft block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#microsoft LinuxFunctionApp#microsoft}
*/
readonly microsoft?: LinuxFunctionAppAuthSettingsMicrosoft;
/**
* twitter block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app#twitter LinuxFunctionApp#twitter}
*/
readonly twitter?: LinuxFunctionAppAuthSettingsTwitter;
}
export declare function linuxFunctionAppAuthSettingsToTerraform(struct?: LinuxFunctionAppAuthSettingsOutputReference | LinuxFunctionAppAuthSettings): any;
export declare function linuxFunctionAppAuthSettingsToHclTerraform(struct?: LinuxFunctionAppAuthSettingsOutputReference | LinuxFunctionAppAuthSettings): any;
export declare class LinuxFunctionAppAuthSettingsOutputReference 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(): LinuxFunctionAppAuthSettings | undefined;
set internalValue(value: LinuxFunctionAppAuthSettings | 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(): LinuxFunctionAppAuthSettingsActiveDirectoryOutputReference;
putActiveDirectory(value: LinuxFunctionAppAuthSettingsActiveDirectory): void;
resetActiveDirectory(): void;
get activeDirectoryInput(): LinuxFunctionAppAuthSettingsActiveDirectory | undefined;
private _facebook;
get facebook(): LinuxFunctionAppAuthSettingsFacebookOutputReference;
putFacebook(value: LinuxFunctionAppAuthSettingsFacebook): void;
resetFacebook(): void;
get facebookInput(): LinuxFunctionAppAuthSettingsFacebook | undefined;
private _github;
get github(): LinuxFunctionAppAuthSettingsGithubOutputReference;
putGithub(value: LinuxFunctionAppAuthSettingsGithub): void;
resetGithub(): void;
get githubInput(): LinuxFunctionAppAuthSettingsGithub | undefined;
private _google;
get google(): LinuxFunctionAppAuthSettingsGoogleOutputReference;
putGoogle(value: LinuxFunctionAppAuthSettingsGoogle): void;
resetGoogle(): void;
get googleInput(): LinuxFunctionAppAuthSettingsGoogle | undefined;
private _microsoft;
get microsoft(): LinuxFunctionAppAuthSettingsMicrosoftOutputReference;
putMicrosoft(value: LinuxFunctionAppAuthSettingsMicrosoft): void;
resetMicrosoft(): void;
get microsoftInput(): LinuxFunctionAppAuthSettingsMicrosoft | undefined;
private _twitter;
get twitter(): LinuxFunctionAppAuthSettingsTwitterOutputReference;
putTwitter(value: LinuxFunctionAppAuthSettingsTwitter): void;
resetTwitter(): void;
get twitterInput(): LinuxFunctionAppAuthSettingsTwitter | undefined;
}
export interface LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 {
/**
* 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/linux_function_app#allowed_applications LinuxFunctionApp#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/linux_function_app#allowed_audiences LinuxFunctionApp#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/linux_function_app#allowed_groups LinuxFunctionApp#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/linux_function_app#allowed_identities LinuxFunctionApp#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/linux_function_app#client_id LinuxFunctionApp#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/linux_function_app#client_secret_certificate_thumbprint LinuxFunctionApp#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/linux_function_app#client_secret_setting_name LinuxFunctionApp#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/linux_function_app#jwt_allowed_client_applications LinuxFunctionApp#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/linux_function_app#jwt_allowed_groups LinuxFunctionApp#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/linux_function_app#login_parameters LinuxFunctionApp#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/linux_function_app#tenant_auth_endpoint LinuxFunctionApp#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/linux_function_app#www_authentication_disabled LinuxFunctionApp#www_authentication_disabled}
*/
readonly wwwAuthenticationDisabled?: boolean | cdktf.IResolvable;
}
export declare function linuxFunctionAppAuthSettingsV2ActiveDirectoryV2ToTerraform(struct?: LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2): any;
export declare function linuxFunctionAppAuthSettingsV2ActiveDirectoryV2ToHclTerraform(struct?: LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2): any;
export declare class LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2OutputReference 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(): LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 | undefined;
set internalValue(value: LinuxFunctionAppAuthSettingsV2ActiveDirectoryV2 | 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 loginParameters(): {
[key: string]: string;
};
set loginParameters(value: {
[key: string]: string;
});
resetLoginParameters(): void;
get loginParametersInput(): {
[key: string]: string;
} | undefined;
private _tenantAuthEndpoint?;
get tenantAuthEndpoint(): string;
set tenantAuthEndpoint(value: string);
get tenantAuthEndpointInput(): string | undefined;
private _wwwAuthenticationDisabled?;
get wwwAuthenticationDisabled(): boolean | cdktf.IResolvable;
set wwwAuthenticationDisa