UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

908 lines 181 kB
/** * 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