UNPKG

@cdktf/provider-azurerm

Version:

Prebuilt azurerm Provider for Terraform CDK (cdktf)

915 lines (914 loc) 198 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LinuxWebAppSlotConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#app_service_id LinuxWebAppSlot#app_service_id} */ readonly appServiceId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#app_settings LinuxWebAppSlot#app_settings} */ readonly appSettings?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_affinity_enabled LinuxWebAppSlot#client_affinity_enabled} */ readonly clientAffinityEnabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_certificate_enabled LinuxWebAppSlot#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_web_app_slot#client_certificate_exclusion_paths LinuxWebAppSlot#client_certificate_exclusion_paths} */ readonly clientCertificateExclusionPaths?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_certificate_mode LinuxWebAppSlot#client_certificate_mode} */ readonly clientCertificateMode?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#enabled LinuxWebAppSlot#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#ftp_publish_basic_authentication_enabled LinuxWebAppSlot#ftp_publish_basic_authentication_enabled} */ readonly ftpPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#https_only LinuxWebAppSlot#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_web_app_slot#id LinuxWebAppSlot#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; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#key_vault_reference_identity_id LinuxWebAppSlot#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_web_app_slot#name LinuxWebAppSlot#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#public_network_access_enabled LinuxWebAppSlot#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_web_app_slot#service_plan_id LinuxWebAppSlot#service_plan_id} */ readonly servicePlanId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#tags LinuxWebAppSlot#tags} */ readonly tags?: { [key: string]: string; }; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#virtual_network_subnet_id LinuxWebAppSlot#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_web_app_slot#webdeploy_publish_basic_authentication_enabled LinuxWebAppSlot#webdeploy_publish_basic_authentication_enabled} */ readonly webdeployPublishBasicAuthenticationEnabled?: boolean | cdktf.IResolvable; /** * The local path and filename of the Zip packaged application to deploy to this Windows Web App. **Note:** Using this value requires `WEBSITE_RUN_FROM_PACKAGE=1` on the App in `app_settings`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#zip_deploy_file LinuxWebAppSlot#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_web_app_slot#auth_settings LinuxWebAppSlot#auth_settings} */ readonly authSettings?: LinuxWebAppSlotAuthSettings; /** * auth_settings_v2 block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#auth_settings_v2 LinuxWebAppSlot#auth_settings_v2} */ readonly authSettingsV2?: LinuxWebAppSlotAuthSettingsV2; /** * backup block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#backup LinuxWebAppSlot#backup} */ readonly backup?: LinuxWebAppSlotBackup; /** * connection_string block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#connection_string LinuxWebAppSlot#connection_string} */ readonly connectionString?: LinuxWebAppSlotConnectionString[] | cdktf.IResolvable; /** * identity block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#identity LinuxWebAppSlot#identity} */ readonly identity?: LinuxWebAppSlotIdentity; /** * logs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#logs LinuxWebAppSlot#logs} */ readonly logs?: LinuxWebAppSlotLogs; /** * site_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#site_config LinuxWebAppSlot#site_config} */ readonly siteConfig: LinuxWebAppSlotSiteConfig; /** * storage_account block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#storage_account LinuxWebAppSlot#storage_account} */ readonly storageAccount?: LinuxWebAppSlotStorageAccount[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#timeouts LinuxWebAppSlot#timeouts} */ readonly timeouts?: LinuxWebAppSlotTimeouts; } export interface LinuxWebAppSlotSiteCredential { } export declare function linuxWebAppSlotSiteCredentialToTerraform(struct?: LinuxWebAppSlotSiteCredential): any; export declare function linuxWebAppSlotSiteCredentialToHclTerraform(struct?: LinuxWebAppSlotSiteCredential): any; export declare class LinuxWebAppSlotSiteCredentialOutputReference 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(): LinuxWebAppSlotSiteCredential | undefined; set internalValue(value: LinuxWebAppSlotSiteCredential | undefined); get name(): string; get password(): string; } export declare class LinuxWebAppSlotSiteCredentialList 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): LinuxWebAppSlotSiteCredentialOutputReference; } export interface LinuxWebAppSlotAuthSettingsActiveDirectory { /** * 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_web_app_slot#allowed_audiences LinuxWebAppSlot#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_web_app_slot#client_id LinuxWebAppSlot#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_web_app_slot#client_secret LinuxWebAppSlot#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_web_app_slot#client_secret_setting_name LinuxWebAppSlot#client_secret_setting_name} */ readonly clientSecretSettingName?: string; } export declare function linuxWebAppSlotAuthSettingsActiveDirectoryToTerraform(struct?: LinuxWebAppSlotAuthSettingsActiveDirectoryOutputReference | LinuxWebAppSlotAuthSettingsActiveDirectory): any; export declare function linuxWebAppSlotAuthSettingsActiveDirectoryToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsActiveDirectoryOutputReference | LinuxWebAppSlotAuthSettingsActiveDirectory): any; export declare class LinuxWebAppSlotAuthSettingsActiveDirectoryOutputReference 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(): LinuxWebAppSlotAuthSettingsActiveDirectory | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsActiveDirectory | 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 LinuxWebAppSlotAuthSettingsFacebook { /** * 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_web_app_slot#app_id LinuxWebAppSlot#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_web_app_slot#app_secret LinuxWebAppSlot#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_web_app_slot#app_secret_setting_name LinuxWebAppSlot#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_web_app_slot#oauth_scopes LinuxWebAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxWebAppSlotAuthSettingsFacebookToTerraform(struct?: LinuxWebAppSlotAuthSettingsFacebookOutputReference | LinuxWebAppSlotAuthSettingsFacebook): any; export declare function linuxWebAppSlotAuthSettingsFacebookToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsFacebookOutputReference | LinuxWebAppSlotAuthSettingsFacebook): any; export declare class LinuxWebAppSlotAuthSettingsFacebookOutputReference 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(): LinuxWebAppSlotAuthSettingsFacebook | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsFacebook | 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 LinuxWebAppSlotAuthSettingsGithub { /** * 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_web_app_slot#client_id LinuxWebAppSlot#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_web_app_slot#client_secret LinuxWebAppSlot#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_web_app_slot#client_secret_setting_name LinuxWebAppSlot#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_web_app_slot#oauth_scopes LinuxWebAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxWebAppSlotAuthSettingsGithubToTerraform(struct?: LinuxWebAppSlotAuthSettingsGithubOutputReference | LinuxWebAppSlotAuthSettingsGithub): any; export declare function linuxWebAppSlotAuthSettingsGithubToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsGithubOutputReference | LinuxWebAppSlotAuthSettingsGithub): any; export declare class LinuxWebAppSlotAuthSettingsGithubOutputReference 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(): LinuxWebAppSlotAuthSettingsGithub | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsGithub | 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 LinuxWebAppSlotAuthSettingsGoogle { /** * 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_web_app_slot#client_id LinuxWebAppSlot#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_web_app_slot#client_secret LinuxWebAppSlot#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_web_app_slot#client_secret_setting_name LinuxWebAppSlot#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_web_app_slot#oauth_scopes LinuxWebAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxWebAppSlotAuthSettingsGoogleToTerraform(struct?: LinuxWebAppSlotAuthSettingsGoogleOutputReference | LinuxWebAppSlotAuthSettingsGoogle): any; export declare function linuxWebAppSlotAuthSettingsGoogleToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsGoogleOutputReference | LinuxWebAppSlotAuthSettingsGoogle): any; export declare class LinuxWebAppSlotAuthSettingsGoogleOutputReference 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(): LinuxWebAppSlotAuthSettingsGoogle | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsGoogle | 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 LinuxWebAppSlotAuthSettingsMicrosoft { /** * 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_web_app_slot#client_id LinuxWebAppSlot#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_web_app_slot#client_secret LinuxWebAppSlot#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_web_app_slot#client_secret_setting_name LinuxWebAppSlot#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_web_app_slot#oauth_scopes LinuxWebAppSlot#oauth_scopes} */ readonly oauthScopes?: string[]; } export declare function linuxWebAppSlotAuthSettingsMicrosoftToTerraform(struct?: LinuxWebAppSlotAuthSettingsMicrosoftOutputReference | LinuxWebAppSlotAuthSettingsMicrosoft): any; export declare function linuxWebAppSlotAuthSettingsMicrosoftToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsMicrosoftOutputReference | LinuxWebAppSlotAuthSettingsMicrosoft): any; export declare class LinuxWebAppSlotAuthSettingsMicrosoftOutputReference 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(): LinuxWebAppSlotAuthSettingsMicrosoft | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsMicrosoft | 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 LinuxWebAppSlotAuthSettingsTwitter { /** * 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_web_app_slot#consumer_key LinuxWebAppSlot#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_web_app_slot#consumer_secret LinuxWebAppSlot#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_web_app_slot#consumer_secret_setting_name LinuxWebAppSlot#consumer_secret_setting_name} */ readonly consumerSecretSettingName?: string; } export declare function linuxWebAppSlotAuthSettingsTwitterToTerraform(struct?: LinuxWebAppSlotAuthSettingsTwitterOutputReference | LinuxWebAppSlotAuthSettingsTwitter): any; export declare function linuxWebAppSlotAuthSettingsTwitterToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsTwitterOutputReference | LinuxWebAppSlotAuthSettingsTwitter): any; export declare class LinuxWebAppSlotAuthSettingsTwitterOutputReference 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(): LinuxWebAppSlotAuthSettingsTwitter | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsTwitter | 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 LinuxWebAppSlotAuthSettings { /** * 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_web_app_slot#additional_login_parameters LinuxWebAppSlot#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_web_app_slot#allowed_external_redirect_urls LinuxWebAppSlot#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_web_app_slot#default_provider LinuxWebAppSlot#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_web_app_slot#enabled LinuxWebAppSlot#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_web_app_slot#issuer LinuxWebAppSlot#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_web_app_slot#runtime_version LinuxWebAppSlot#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_web_app_slot#token_refresh_extension_hours LinuxWebAppSlot#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_web_app_slot#token_store_enabled LinuxWebAppSlot#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_web_app_slot#unauthenticated_client_action LinuxWebAppSlot#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_web_app_slot#active_directory LinuxWebAppSlot#active_directory} */ readonly activeDirectory?: LinuxWebAppSlotAuthSettingsActiveDirectory; /** * facebook block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#facebook LinuxWebAppSlot#facebook} */ readonly facebook?: LinuxWebAppSlotAuthSettingsFacebook; /** * github block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#github LinuxWebAppSlot#github} */ readonly github?: LinuxWebAppSlotAuthSettingsGithub; /** * google block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#google LinuxWebAppSlot#google} */ readonly google?: LinuxWebAppSlotAuthSettingsGoogle; /** * microsoft block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#microsoft LinuxWebAppSlot#microsoft} */ readonly microsoft?: LinuxWebAppSlotAuthSettingsMicrosoft; /** * twitter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#twitter LinuxWebAppSlot#twitter} */ readonly twitter?: LinuxWebAppSlotAuthSettingsTwitter; } export declare function linuxWebAppSlotAuthSettingsToTerraform(struct?: LinuxWebAppSlotAuthSettingsOutputReference | LinuxWebAppSlotAuthSettings): any; export declare function linuxWebAppSlotAuthSettingsToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsOutputReference | LinuxWebAppSlotAuthSettings): any; export declare class LinuxWebAppSlotAuthSettingsOutputReference 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(): LinuxWebAppSlotAuthSettings | undefined; set internalValue(value: LinuxWebAppSlotAuthSettings | 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(): LinuxWebAppSlotAuthSettingsActiveDirectoryOutputReference; putActiveDirectory(value: LinuxWebAppSlotAuthSettingsActiveDirectory): void; resetActiveDirectory(): void; get activeDirectoryInput(): LinuxWebAppSlotAuthSettingsActiveDirectory | undefined; private _facebook; get facebook(): LinuxWebAppSlotAuthSettingsFacebookOutputReference; putFacebook(value: LinuxWebAppSlotAuthSettingsFacebook): void; resetFacebook(): void; get facebookInput(): LinuxWebAppSlotAuthSettingsFacebook | undefined; private _github; get github(): LinuxWebAppSlotAuthSettingsGithubOutputReference; putGithub(value: LinuxWebAppSlotAuthSettingsGithub): void; resetGithub(): void; get githubInput(): LinuxWebAppSlotAuthSettingsGithub | undefined; private _google; get google(): LinuxWebAppSlotAuthSettingsGoogleOutputReference; putGoogle(value: LinuxWebAppSlotAuthSettingsGoogle): void; resetGoogle(): void; get googleInput(): LinuxWebAppSlotAuthSettingsGoogle | undefined; private _microsoft; get microsoft(): LinuxWebAppSlotAuthSettingsMicrosoftOutputReference; putMicrosoft(value: LinuxWebAppSlotAuthSettingsMicrosoft): void; resetMicrosoft(): void; get microsoftInput(): LinuxWebAppSlotAuthSettingsMicrosoft | undefined; private _twitter; get twitter(): LinuxWebAppSlotAuthSettingsTwitterOutputReference; putTwitter(value: LinuxWebAppSlotAuthSettingsTwitter): void; resetTwitter(): void; get twitterInput(): LinuxWebAppSlotAuthSettingsTwitter | undefined; } export interface LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 { /** * 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_web_app_slot#allowed_applications LinuxWebAppSlot#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_web_app_slot#allowed_audiences LinuxWebAppSlot#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_web_app_slot#allowed_groups LinuxWebAppSlot#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_web_app_slot#allowed_identities LinuxWebAppSlot#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_web_app_slot#client_id LinuxWebAppSlot#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_web_app_slot#client_secret_certificate_thumbprint LinuxWebAppSlot#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_web_app_slot#client_secret_setting_name LinuxWebAppSlot#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_web_app_slot#jwt_allowed_client_applications LinuxWebAppSlot#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_web_app_slot#jwt_allowed_groups LinuxWebAppSlot#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_web_app_slot#login_parameters LinuxWebAppSlot#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_web_app_slot#tenant_auth_endpoint LinuxWebAppSlot#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_web_app_slot#www_authentication_disabled LinuxWebAppSlot#www_authentication_disabled} */ readonly wwwAuthenticationDisabled?: boolean | cdktf.IResolvable; } export declare function linuxWebAppSlotAuthSettingsV2ActiveDirectoryV2ToTerraform(struct?: LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2): any; export declare function linuxWebAppSlotAuthSettingsV2ActiveDirectoryV2ToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference | LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2): any; export declare class LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2OutputReference 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(): LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsV2ActiveDirectoryV2 | 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 wwwAuthenticationDisabled(value: boolean | cdktf.IResolvable); resetWwwAuthenticationDisabled(): void; get wwwAuthenticationDisabledInput(): boolean | cdktf.IResolvable | undefined; } export interface LinuxWebAppSlotAuthSettingsV2AppleV2 { /** * The OpenID Connect Client ID for the Apple web application. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_id LinuxWebAppSlot#client_id} */ readonly clientId: string; /** * The app setting name that contains the `client_secret` value used for Apple Login. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_secret_setting_name LinuxWebAppSlot#client_secret_setting_name} */ readonly clientSecretSettingName: string; } export declare function linuxWebAppSlotAuthSettingsV2AppleV2ToTerraform(struct?: LinuxWebAppSlotAuthSettingsV2AppleV2OutputReference | LinuxWebAppSlotAuthSettingsV2AppleV2): any; export declare function linuxWebAppSlotAuthSettingsV2AppleV2ToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsV2AppleV2OutputReference | LinuxWebAppSlotAuthSettingsV2AppleV2): any; export declare class LinuxWebAppSlotAuthSettingsV2AppleV2OutputReference 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(): LinuxWebAppSlotAuthSettingsV2AppleV2 | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsV2AppleV2 | undefined); private _clientId?; get clientId(): string; set clientId(value: string); get clientIdInput(): string | undefined; private _clientSecretSettingName?; get clientSecretSettingName(): string; set clientSecretSettingName(value: string); get clientSecretSettingNameInput(): string | undefined; get loginScopes(): string[]; } export interface LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2 { /** * The ID of the Client to use to authenticate with Azure Static Web App Authentication. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_id LinuxWebAppSlot#client_id} */ readonly clientId: string; } export declare function linuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2ToTerraform(struct?: LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2OutputReference | LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2): any; export declare function linuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2ToHclTerraform(struct?: LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2OutputReference | LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2): any; export declare class LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2OutputReference 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(): LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2 | undefined; set internalValue(value: LinuxWebAppSlotAuthSettingsV2AzureStaticWebAppV2 | undefined); private _clientId?; get clientId(): string; set clientId(value: string); get clientIdInput(): string | undefined; } export interface LinuxWebAppSlotAuthSettingsV2CustomOidcV2 { /** * The ID of the Client to use to authenticate with this Custom OIDC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/linux_web_app_slot#client_id LinuxWebAppSlot#client_id} */ readonly clientId: string; /**