UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

888 lines 182 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LinuxFunctionAppSlotConfig 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_slot#app_settings LinuxFunctionAppSlot#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_slot#builtin_logging_enabled LinuxFunctionAppSlot#builtin_logging_enabled} */ readonly builtinLoggingEnabled?: boolean | cdktf.IResolvable; /** * Should the Function App Slot use Client Certificates. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#client_certificate_enabled LinuxFunctionAppSlot#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_slot#client_certificate_exclusion_paths LinuxFunctionAppSlot#client_certificate_exclusion_paths} */ readonly clientCertificateExclusionPaths?: string; /** * The mode of the Function App Slot'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_slot#client_certificate_mode LinuxFunctionAppSlot#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_slot#content_share_force_disabled LinuxFunctionAppSlot#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_slot#daily_memory_time_quota LinuxFunctionAppSlot#daily_memory_time_quota} */ readonly dailyMemoryTimeQuota?: number; /** * Is the Linux Function App Slot enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#enabled LinuxFunctionAppSlot#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_slot#ftp_publish_basic_authentication_enabled LinuxFunctionAppSlot#ftp_publish_basic_authentication_enabled} */ readonly ftpPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable; /** * The ID of the Linux Function App this Slot is a member of. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#function_app_id LinuxFunctionAppSlot#function_app_id} */ readonly functionAppId: string; /** * The runtime version associated with the Function App Slot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#functions_extension_version LinuxFunctionAppSlot#functions_extension_version} */ readonly functionsExtensionVersion?: string; /** * Can the Function App Slot 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_slot#https_only LinuxFunctionAppSlot#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_slot#id LinuxFunctionAppSlot#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_slot#key_vault_reference_identity_id LinuxFunctionAppSlot#key_vault_reference_identity_id} */ readonly keyVaultReferenceIdentityId?: string; /** * Specifies the name of the Function App Slot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#name LinuxFunctionAppSlot#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#public_network_access_enabled LinuxFunctionAppSlot#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_slot#service_plan_id LinuxFunctionAppSlot#service_plan_id} */ readonly servicePlanId?: string; /** * The access key which will be used to access the storage account for the Function App Slot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#storage_account_access_key LinuxFunctionAppSlot#storage_account_access_key} */ readonly storageAccountAccessKey?: string; /** * The backend storage account name which will be used by this Function App Slot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#storage_account_name LinuxFunctionAppSlot#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_slot#storage_key_vault_secret_id LinuxFunctionAppSlot#storage_key_vault_secret_id} */ readonly storageKeyVaultSecretId?: string; /** * Should the Function App Slot 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_slot#storage_uses_managed_identity LinuxFunctionAppSlot#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_slot#tags LinuxFunctionAppSlot#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_slot#virtual_network_subnet_id LinuxFunctionAppSlot#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_slot#webdeploy_publish_basic_authentication_enabled LinuxFunctionAppSlot#webdeploy_publish_basic_authentication_enabled} */ readonly webdeployPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable; /** * auth_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#auth_settings LinuxFunctionAppSlot#auth_settings} */ readonly authSettings?: LinuxFunctionAppSlotAuthSettings; /** * auth_settings_v2 block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#auth_settings_v2 LinuxFunctionAppSlot#auth_settings_v2} */ readonly authSettingsV2?: LinuxFunctionAppSlotAuthSettingsV2; /** * backup block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#backup LinuxFunctionAppSlot#backup} */ readonly backup?: LinuxFunctionAppSlotBackup; /** * connection_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#connection_string LinuxFunctionAppSlot#connection_string} */ readonly connectionString?: LinuxFunctionAppSlotConnectionString[] | cdktf.IResolvable; /** * identity block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#identity LinuxFunctionAppSlot#identity} */ readonly identity?: LinuxFunctionAppSlotIdentity; /** * site_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#site_config LinuxFunctionAppSlot#site_config} */ readonly siteConfig: LinuxFunctionAppSlotSiteConfig; /** * storage_account block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#storage_account LinuxFunctionAppSlot#storage_account} */ readonly storageAccount?: LinuxFunctionAppSlotStorageAccount[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#timeouts LinuxFunctionAppSlot#timeouts} */ readonly timeouts?: LinuxFunctionAppSlotTimeouts; } export interface LinuxFunctionAppSlotSiteCredential { } export declare function linuxFunctionAppSlotSiteCredentialToTerraform(struct?: LinuxFunctionAppSlotSiteCredential): any; export declare function linuxFunctionAppSlotSiteCredentialToHclTerraform(struct?: LinuxFunctionAppSlotSiteCredential): any; export declare class LinuxFunctionAppSlotSiteCredentialOutputReference 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(): LinuxFunctionAppSlotSiteCredential | undefined; set internalValue(value: LinuxFunctionAppSlotSiteCredential | undefined); get name(): string; get password(): string; } export declare class LinuxFunctionAppSlotSiteCredentialList 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): LinuxFunctionAppSlotSiteCredentialOutputReference; } export interface LinuxFunctionAppSlotAuthSettingsActiveDirectory { /** * 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_slot#allowed_audiences LinuxFunctionAppSlot#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_slot#client_id LinuxFunctionAppSlot#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_slot#client_secret LinuxFunctionAppSlot#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_slot#client_secret_setting_name LinuxFunctionAppSlot#client_secret_setting_name} */ readonly clientSecretSettingName?: string; } export declare function linuxFunctionAppSlotAuthSettingsActiveDirectoryToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsActiveDirectoryOutputReference | LinuxFunctionAppSlotAuthSettingsActiveDirectory): any; export declare function linuxFunctionAppSlotAuthSettingsActiveDirectoryToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsActiveDirectoryOutputReference | LinuxFunctionAppSlotAuthSettingsActiveDirectory): any; export declare class LinuxFunctionAppSlotAuthSettingsActiveDirectoryOutputReference 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(): LinuxFunctionAppSlotAuthSettingsActiveDirectory | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsActiveDirectory | 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 LinuxFunctionAppSlotAuthSettingsFacebook { /** * 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_slot#app_id LinuxFunctionAppSlot#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_slot#app_secret LinuxFunctionAppSlot#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_slot#app_secret_setting_name LinuxFunctionAppSlot#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_slot#oauth_scopes LinuxFunctionAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxFunctionAppSlotAuthSettingsFacebookToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsFacebookOutputReference | LinuxFunctionAppSlotAuthSettingsFacebook): any; export declare function linuxFunctionAppSlotAuthSettingsFacebookToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsFacebookOutputReference | LinuxFunctionAppSlotAuthSettingsFacebook): any; export declare class LinuxFunctionAppSlotAuthSettingsFacebookOutputReference 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(): LinuxFunctionAppSlotAuthSettingsFacebook | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsFacebook | 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 LinuxFunctionAppSlotAuthSettingsGithub { /** * 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_slot#client_id LinuxFunctionAppSlot#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_slot#client_secret LinuxFunctionAppSlot#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_slot#client_secret_setting_name LinuxFunctionAppSlot#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_slot#oauth_scopes LinuxFunctionAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxFunctionAppSlotAuthSettingsGithubToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsGithubOutputReference | LinuxFunctionAppSlotAuthSettingsGithub): any; export declare function linuxFunctionAppSlotAuthSettingsGithubToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsGithubOutputReference | LinuxFunctionAppSlotAuthSettingsGithub): any; export declare class LinuxFunctionAppSlotAuthSettingsGithubOutputReference 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(): LinuxFunctionAppSlotAuthSettingsGithub | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsGithub | 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 LinuxFunctionAppSlotAuthSettingsGoogle { /** * 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_slot#client_id LinuxFunctionAppSlot#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_slot#client_secret LinuxFunctionAppSlot#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_slot#client_secret_setting_name LinuxFunctionAppSlot#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_slot#oauth_scopes LinuxFunctionAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxFunctionAppSlotAuthSettingsGoogleToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsGoogleOutputReference | LinuxFunctionAppSlotAuthSettingsGoogle): any; export declare function linuxFunctionAppSlotAuthSettingsGoogleToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsGoogleOutputReference | LinuxFunctionAppSlotAuthSettingsGoogle): any; export declare class LinuxFunctionAppSlotAuthSettingsGoogleOutputReference 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(): LinuxFunctionAppSlotAuthSettingsGoogle | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsGoogle | 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 LinuxFunctionAppSlotAuthSettingsMicrosoft { /** * 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_slot#client_id LinuxFunctionAppSlot#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_slot#client_secret LinuxFunctionAppSlot#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_slot#client_secret_setting_name LinuxFunctionAppSlot#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_slot#oauth_scopes LinuxFunctionAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxFunctionAppSlotAuthSettingsMicrosoftToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsMicrosoftOutputReference | LinuxFunctionAppSlotAuthSettingsMicrosoft): any; export declare function linuxFunctionAppSlotAuthSettingsMicrosoftToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsMicrosoftOutputReference | LinuxFunctionAppSlotAuthSettingsMicrosoft): any; export declare class LinuxFunctionAppSlotAuthSettingsMicrosoftOutputReference 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(): LinuxFunctionAppSlotAuthSettingsMicrosoft | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsMicrosoft | 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 LinuxFunctionAppSlotAuthSettingsTwitter { /** * 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_slot#consumer_key LinuxFunctionAppSlot#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_slot#consumer_secret LinuxFunctionAppSlot#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_slot#consumer_secret_setting_name LinuxFunctionAppSlot#consumer_secret_setting_name} */ readonly consumerSecretSettingName?: string; } export declare function linuxFunctionAppSlotAuthSettingsTwitterToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsTwitterOutputReference | LinuxFunctionAppSlotAuthSettingsTwitter): any; export declare function linuxFunctionAppSlotAuthSettingsTwitterToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsTwitterOutputReference | LinuxFunctionAppSlotAuthSettingsTwitter): any; export declare class LinuxFunctionAppSlotAuthSettingsTwitterOutputReference 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(): LinuxFunctionAppSlotAuthSettingsTwitter | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsTwitter | 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 LinuxFunctionAppSlotAuthSettings { /** * 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_slot#additional_login_parameters LinuxFunctionAppSlot#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_slot#allowed_external_redirect_urls LinuxFunctionAppSlot#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_slot#default_provider LinuxFunctionAppSlot#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_slot#enabled LinuxFunctionAppSlot#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_slot#issuer LinuxFunctionAppSlot#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_slot#runtime_version LinuxFunctionAppSlot#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_slot#token_refresh_extension_hours LinuxFunctionAppSlot#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_slot#token_store_enabled LinuxFunctionAppSlot#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_slot#unauthenticated_client_action LinuxFunctionAppSlot#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_slot#active_directory LinuxFunctionAppSlot#active_directory} */ readonly activeDirectory?: LinuxFunctionAppSlotAuthSettingsActiveDirectory; /** * facebook block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#facebook LinuxFunctionAppSlot#facebook} */ readonly facebook?: LinuxFunctionAppSlotAuthSettingsFacebook; /** * github block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#github LinuxFunctionAppSlot#github} */ readonly github?: LinuxFunctionAppSlotAuthSettingsGithub; /** * google block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#google LinuxFunctionAppSlot#google} */ readonly google?: LinuxFunctionAppSlotAuthSettingsGoogle; /** * microsoft block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#microsoft LinuxFunctionAppSlot#microsoft} */ readonly microsoft?: LinuxFunctionAppSlotAuthSettingsMicrosoft; /** * twitter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_function_app_slot#twitter LinuxFunctionAppSlot#twitter} */ readonly twitter?: LinuxFunctionAppSlotAuthSettingsTwitter; } export declare function linuxFunctionAppSlotAuthSettingsToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsOutputReference | LinuxFunctionAppSlotAuthSettings): any; export declare function linuxFunctionAppSlotAuthSettingsToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsOutputReference | LinuxFunctionAppSlotAuthSettings): any; export declare class LinuxFunctionAppSlotAuthSettingsOutputReference 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(): LinuxFunctionAppSlotAuthSettings | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettings | 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(): LinuxFunctionAppSlotAuthSettingsActiveDirectoryOutputReference; putActiveDirectory(value: LinuxFunctionAppSlotAuthSettingsActiveDirectory): void; resetActiveDirectory(): void; get activeDirectoryInput(): LinuxFunctionAppSlotAuthSettingsActiveDirectory | undefined; private _facebook; get facebook(): LinuxFunctionAppSlotAuthSettingsFacebookOutputReference; putFacebook(value: LinuxFunctionAppSlotAuthSettingsFacebook): void; resetFacebook(): void; get facebookInput(): LinuxFunctionAppSlotAuthSettingsFacebook | undefined; private _github; get github(): LinuxFunctionAppSlotAuthSettingsGithubOutputReference; putGithub(value: LinuxFunctionAppSlotAuthSettingsGithub): void; resetGithub(): void; get githubInput(): LinuxFunctionAppSlotAuthSettingsGithub | undefined; private _google; get google(): LinuxFunctionAppSlotAuthSettingsGoogleOutputReference; putGoogle(value: LinuxFunctionAppSlotAuthSettingsGoogle): void; resetGoogle(): void; get googleInput(): LinuxFunctionAppSlotAuthSettingsGoogle | undefined; private _microsoft; get microsoft(): LinuxFunctionAppSlotAuthSettingsMicrosoftOutputReference; putMicrosoft(value: LinuxFunctionAppSlotAuthSettingsMicrosoft): void; resetMicrosoft(): void; get microsoftInput(): LinuxFunctionAppSlotAuthSettingsMicrosoft | undefined; private _twitter; get twitter(): LinuxFunctionAppSlotAuthSettingsTwitterOutputReference; putTwitter(value: LinuxFunctionAppSlotAuthSettingsTwitter): void; resetTwitter(): void; get twitterInput(): LinuxFunctionAppSlotAuthSettingsTwitter | undefined; } export interface LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 { /** * 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_slot#allowed_applications LinuxFunctionAppSlot#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_slot#allowed_audiences LinuxFunctionAppSlot#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_slot#allowed_groups LinuxFunctionAppSlot#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_slot#allowed_identities LinuxFunctionAppSlot#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_slot#client_id LinuxFunctionAppSlot#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_slot#client_secret_certificate_thumbprint LinuxFunctionAppSlot#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_slot#client_secret_setting_name LinuxFunctionAppSlot#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_slot#jwt_allowed_client_applications LinuxFunctionAppSlot#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_slot#jwt_allowed_groups LinuxFunctionAppSlot#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_slot#login_parameters LinuxFunctionAppSlot#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_slot#tenant_auth_endpoint LinuxFunctionAppSlot#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_slot#www_authentication_disabled LinuxFunctionAppSlot#www_authentication_disabled} */ readonly wwwAuthenticationDisabled?: boolean | cdktf.IResolvable; } export declare function linuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2ToTerraform(struct?: LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2): any; export declare function linuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2ToHclTerraform(struct?: LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2): any; export declare class LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference 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(): LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 | undefined; set internalValue(value: LinuxFunctionAppSlotAuthSettingsV2ActiveDirectoryV2 | 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 ten